System and method for detecting and characterizing touch inputs at a human-computer interface

ABSTRACT

One variation of a system for detecting inputs at a computing device includes: a substrate including a top layer, a bottom layer defining an array of support locations, and electrode pairs proximal the support locations; a touch sensor surface arranged over the top layer of the substrate; a set of spacers, each arranged over an electrode pair at a support location on the bottom layer of the substrate and including a force-sensitive material exhibiting variations in local bulk resistance responsive to variations in applied force; an array of spring elements coupled to the set of spacers, configured to support the substrate on a chassis, and configured to yield to displacement of the substrate downward toward the chassis responsive to forces applied to the touch sensor surface; and a controller configured to interpret forces of inputs on the touch sensor surface based on resistance values of the electrode pairs.

CROSS-REFERENCE TO RELATED APPLICATIONS

This Application claims the benefit of U.S. Provisional PatentApplication Nos. 62/984,448, filed 3 Mar. 2020, 63/040,433, filed on 17Jun. 2020, and 63/063,168, filed on 7 Aug. 2020, each of which isincorporated in its entirety by this reference.

This Application is related to U.S. patent application Ser. No.14/499,001, filed on 26 Sep. 2014, and Ser. No. 16/297,426, filed on 8Mar. 2019, each of which is incorporated in its entirety by thisreference.

TECHNICAL FIELD

This invention relates generally to the field of touch sensors and morespecifically to a new and useful human-computer interface system in thefield of touch sensors.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a system;

FIG. 2 is a flowchart representation of a method;

FIG. 3 is a flowchart representation of one variation of the method;

FIG. 4 is a flowchart representation of one variation of the method;

FIG. 5 is a flowchart representation of one variation of the system;

FIG. 6 is a schematic representation of one variation of the system;

FIG. 7 is a schematic representation of one variation of the system;

FIGS. 8A-8F are schematic representations of variations of the system;

FIG. 9 is a flowchart representation of one variation of the system;

FIG. 10 is a flowchart representation of one variation of the system;

FIG. 11 is a schematic representation of one variation of the system;

FIG. 12 is a schematic representation of one variation of the system;

FIGS. 13A and 13B are schematic representations of variations of thesystem; and

FIG. 14 is a flowchart representation of one variation of the system.

DESCRIPTION OF THE EMBODIMENTS

The following description of embodiments of the invention is notintended to limit the invention to these embodiments but rather toenable a person skilled in the art to make and use this invention.Variations, configurations, implementations, example implementations,and examples described herein are optional and are not exclusive to thevariations, configurations, implementations, example implementations,and examples they describe. The invention described herein can includeany and all permutations of these variations, configurations,implementations, example implementations, and examples.

1. Method

As shown in FIGS. 1 and 2, a method S100 for characterizing inputs at asurface of a computing device includes: detecting a touch input at atouch sensor surface 116 arranged above a pressure sensor including anarray of pressure sensor elements at Block S110; reading a set ofresistance values from drive electrode and sense electrode pairs 130 ineach pressure sensor element in the array of pressure sensor elements atBlock S120; transforming the set of resistance values into a set ofmagnitude components of a force exerted over the touch sensor surface116 by the touch at Block S130; calculating a magnitude of the forcebased on the set of magnitude components at Block S140; deriving anestimated location of the touch input on the touch sensor surface 116based on differences between magnitude components in the set ofmagnitude components at Block S150; generating a pressure imageassociated with the touch input representing a force distribution acrossthe touch sensor surface 116 and the estimated location of the touchinput at Block S160; and, in response to the magnitude of the forceexceeding a threshold magnitude, selectively driving a vibrator in a setof vibrators closest to the estimated location of the touch input tooscillate the touch sensor surface 116 at Block S170.

1.1 Applications

Generally, the method S100 can be executed by a system 100 that includesa set of (lower-resolution) pressure sensor elements, a(higher-resolution) capacitive touch sensor 170, and a controller 180:to detect and distinguish locations of inputs on a touch sensor surface116 (e.g., a trackpad, a keyboard, a touch-sensitive display) of thesystem 100 based on high-resolution data captured by the capacitivetouch sensor 170; to interpret a force distribution across the touchsensor surface 116 based on concurrent low-resolution force datacaptured by the set of pressure sensor elements and locations of thesepressure sensor elements; to interpret forces applied to the touchsensor surface 116 based on detected locations of these inputs and theforce distribution; and to generate scan images representing locationsof inputs and force magnitudes of these inputs. More specifically, thesystem 100 can fuse low-resolution pressure data—output by a set ofdiscrete pressure sensor elements distributed at intermittent locationsbehind a touch sensor surface 116—with high-resolution input locationdata—output by a capacitive touch sensor 170 spanning this touch sensorsurface 116—to generate a high-resolution spatial image of inputs on thetouch sensor surface 116, annotated with high-resolution pressure orforce information.

The system 100 can include a low-resolution pressure sensor array thatincludes a quantity of pressure sensor elements that is multiple ordersof magnitude fewer than a quantity of pixels in the adjacent capacitivetouch sensor 170 (e.g., ten pressure sensor elements versus two millioncapacitive touch sensor 170 pixels). The system 100 can therefore: scanand interpret pressure sensor elements in the pressure sensor array overrelatively short timescales and/or with limited power consumption; whilecapturing higher-resolution input location data via the capacitive touchsensor 170 over longer time scales and/or with greater powerconsumption.

In one example, the system 100 includes an array of discrete (e.g.,discontinuous) pressure sensor elements (hereinafter the “pressuresensor array”) that mechanically support and locate the touch sensorsurface 116 within a chassis of the system 100 (e.g., a peripheral touchinput device, a smartphone display, a trackpad integrated into a laptopcomputer). Generally, each pressure sensor element can include: a driveelectrodes and sense electrode pair 130; and a force-sensitive materialthat exhibits variations in local bulk resistance in response to appliedforces and thus yields changes in resistances between this driveelectrodes and sense electrode pair 130. The controller 180 can thus:read a resistance value from each pressure sensor element during a scancycle; transform these resistance values into force magnitudes appliedto the touch sensor surface 116 and transferred into these pressuresensor elements based on known locations of these pressure sensorelements below the touch sensor surface 116; and then transform theseforce magnitudes into a higher-resolution force distribution across thetouch sensor surface 116 during this scan cycle, such as based on knownlocations of the pressure sensor elements, known dynamics of the touchsensor surface 116, and locations of forces detected by the capacitivetouch sensor 170 during this scan cycle. The system 100 can thereforeleverage high-resolution input location data captured by the capacitivetouch sensor 170 to up-sample lower-resolution force data captured bythe array of discrete pressure sensor elements and then interpolateforce magnitudes of discrete inputs on the touch sensor surface 116accordingly.

Furthermore, because the system 100 includes discrete pressure sensorelements distributed across the back side of the touch sensor surface116—such as rather than or not only along the perimeter or corners ofthe touch sensor surface 116—this set of discrete pressure sensorelements can mechanically support the touch sensor surface 116 withshorter maximum unsupported spans, thereby reducing deflection of thetouch sensor surface 116 under applied forces, reducing strain on the(more sensitive) capacitive touch sensor 170, maintaining a high degreeof accuracy and consistency in outputs of the capacitive touch sensor170.

Similarly, because the system 100 includes discrete pressure sensorelements configured into an array across the back side of the touchsensor surface 116, the architecture of the system 100 can be scaled totouch sensor surfaces 116 of different sizes. For example, the system100 can be scaled to a 70 mm by 120 mm touchpad (and smaller) and to a230 mm by 360 mm laptop display (and larger) by installing a quantity ofdiscrete pressure sensor elements that yields a target or maximumunsupported span length across the touch sensor surface 116, therebyenabling a controller 180 in these devices to calculate forcedistributions across their touch sensor surface 116 with resolutions andaccuracies decoupled from the sizes of these touch sensor surfaces 116.

1.2 Pressure Sensor Element

As shown in FIG. 3, the pressure sensor array includes a set of discretepressure sensor elements. In one implementation, each pressure sensorelement is formed by: a set of drive electrode and sense electrode pairs130 formed on a substrate 110 (a fiberglass PCB); a coupon offorce-sensitive material exhibiting variations in local bulk resistance(and therefore variations in local bulk conductivity) proportional to aforce magnitude of an input applied to a touch sensor surface 116 of thesystem 100; and a spacer 140 (or a “deflection spacer”) bonded to theforce-sensitive material and a rigid chassis, as shown in FIG. 1, or toa spring element 150, as shown in FIG. 5.

Generally, each pressure sensor element defines a discrete resistivepressure sensor (e.g., 5-10 mm in diameter) localized to a discreteforce-sensitive region on the underside of the substrate 110 andinterposed between the substrate 110 and the chassis. In oneimplementation, each pressure sensor element includes a single driveelectrode and sense electrode pair 130. For example, as described inU.S. patent application Ser. No. 14/499,001, a drive electrodes andsense electrode pair 130 can define an interdigitated electrode pair 130extending across a support region on the bottom layer 112 of thesubstrate 110. Prior to assembly of the pressure sensor array, eachdrive electrode and sense electrode pair 130 can be surface-plated witha thin layer of gold or other inert metal (e.g., an electroless nickelimmersion gold surface plating) in order to prevent oxidation of theelectrodes during operation, thereby maintaining consistent and accuratesignal output of the pressure sensor element over the lifespan of thedevice.

As shown in FIG. 1, the force-sensitive material is arranged below theset of drive electrode and sense electrode pairs 130 and bonded to thesubstrate 110 about the perimeter of the pressure sensor element,forming a small airgap between the set of drive electrode and senseelectrode pairs 130 and the force-sensitive material. Theforce-sensitive material spans gaps between drive electrodes andcorresponding sense electrodes and generally exhibits variations inlocal bulk resistance and/or bulk conductivity responsive to localvariations in applied force. During operation, application of a forceover the touch sensor surface 116 compresses (e.g., displaces, compacts)the force sensitive material toward the drive electrode and senseelectrode pairs 130 such that the resistance between a particular driveelectrode and sense electrode pair 130 varies proportionally (e.g.,linearly, inversely, quadratically, exponentially) with the localmagnitude of force on the touch sensor surface 116. Thus, the controller180 can sample resistance values (and/or changes in resistance) acrosseach drive electrode and sense electrode pair 130 within the pressuresensor element and can transform these resistance values into a localforce magnitude (or force magnitude component) applied over the touchsensor surface 116 at the location of the pressure sensor element. Bysampling resistance values across drive electrode and sense electrodepairs 130 in each pressure sensor element in the pressure sensor array,the controller 180 can therefore transform resistance values sampled ateach pressure sensor element into a (total) force magnitude and/orlocation of one or more discrete force inputs applied over the touchsensor surface 116.

In one implementation, the coupon of force-sensitive material includes a(small) air vent—such as a pinhole or channel between the air gap andthe external surface of the force sensitive material—in order tocontinuously equalize air pressure between the air gap and the externalenvironment, thereby preventing pressure build-up or vacuum buildupwithin the air gap that may otherwise occur responsive to changes in airpressure within the external environment (e.g., due to changes inelevation, changes in internal or external air temperature) and/orresponsive to displacement of the touch sensor surface 116 and substrate110 toward the chassis during operation. Thus, the air gap enables theforce sensitive material to maintain consistent mechanical propertiesand/or dynamics under changing air pressure conditions within the airgap and/or within the external environment.

Furthermore, as shown in FIG. 1, each pressure sensor element includes adeflection spacer 140 bonded to the force-sensitive material (or asubstrate 110 arranged beneath force-sensitive material) and the chassisof an electronic device. In one implementation, the deflection spacer140 defines a pad-like element formed from foam, soft silicone, orultra-soft silicone of approximately the same diameter as the pressuresensor element (e.g., 3-7 mm). The deflection spacer 140 generallyconstrains the pressure sensor element against the chassis, but permitsthe touch sensor surface 116 and/or vibrator elements within thepressure sensor array to oscillate within a plane parallel to the touchsensor surface 116 and the chassis. By constraining oscillation of thetouch sensor surface 116, the substrate 110, and/or the pressure sensorelement to a plane parallel to the chassis (e.g., constraining motion toall but one or two degrees of freedom), the deflection spacer 140 cansubstantially reduce inadvertent compression of force-sensitive materialwhen actuating a vibrator during haptic feedback responses, therebyreducing the effect of forces exerted by the vibrator on the substrate110 and the force-sensitive material from affecting resistancemeasurements performed by the controller 180. The deflection spacer 140can also absorb (e.g., reduce, counteract) displacement of othercomponents in the pressure sensor element (e.g., drive electrode andsense electrode pairs 130 and the force-sensitive material) responsiveto oscillation or vibration of the touch sensor surface 116 and/or thesubstrate 110 during haptic feedback cycles, thereby enabling thepressure sensor element to quickly return to an equilibrium positionrelative to the touch sensor surface 116 following actuation of avibrator. More specifically, the deflection spacer 140 can exert arestoring (e.g., damping) force that stabilizes and reduces lateralmovement of the pressure sensor element over time in order tosubstantially fix the location of the pressure sensor element relativeto a corresponding location on the touch sensor surface 116.

As shown in FIG. 4, a set of these pressure sensor elements can bearranged beneath a touch sensor surface 116 and/or a substrate 110 toform a pressure sensor array with resistive force and/or pressuresensing capabilities at any number of discrete locations below the touchsensor surface 116, thereby enabling a robust, scalable force sensingarchitecture with reduced manufacturing cost and lower computationalrequirements (e.g., compared to a continuous sensor array) whendetecting and/or characterizing touch inputs.

1.3 Pressure Sensor Array

As shown in FIG. 4, the system 100 includes a set of pressure sensorelements arranged beneath and mechanically and electrically coupled tothe substrate 110 at a set of discrete locations under the touch sensorsurface 116, and defining a pressure sensor array. Generally, thedistance between each pressure sensor element in the pressure sensorarray can be substantial relative to the dimensions of the touch sensorsurface 116 (e.g., with lateral and longitudinal pitch distances betweenpressure sensor elements on the order of an inch). However, the pressuresensor array can also include pressure sensor elements arranged under amiddle portion of the touch sensor surface 116 and substrate 110 stack(e.g., beneath and/or adjacent to one or more central planar axes of thetouch sensor surface 116)—rather than and/or in addition to pressuresensor elements arranged along the perimeter or corners of the touchsensor surface 116—thereby reducing deflection (e.g., bowing) of themiddle portion of the touch sensor surface 116 under applied forces.

In one implementation, the pressure sensor array includes a grid arrayof pressure sensor elements arranged beneath the touch sensor surface116 and the substrate 110 (e.g., a 4×3 array, an 8×6 array). Inparticular, the pressure sensor array can include a first subset ofpressure sensor elements arranged proximal to a first edge of the touchsensor surface 116 (e.g., a set of three pressure sensor elementsarranged along the left edge of a trackpad surface), a second subset ofpressure sensor elements arranged proximal to a second edge of the touchsensor surface 116 opposite the first edge (e.g., a set of threepressure sensor elements arranged along the right edge of the trackpadsurface), and a third subset of pressure sensor elements arrangedbetween the first and second subsets of pressure elements (e.g., a setof six pressure sensor elements arranged in the middle portion of thetrackpad). For example, the grid array of pressure sensor elementsincludes a set of six discrete pressure sensor elements at 1.5-inchlateral and longitudinal pitch distances to yield a two-by-three gridarray of pressure sensor elements under the touch sensor surface 116(e.g., a 3-inch by 5-inch touch sensor surface 116). In another example,the grid array can include a set of twelve discrete pressure sensorelements at 0.75-inch lateral and longitudinal pitch distance to yield athree-by-four grid array of pressure sensor elements under the touchsensor surface 116. Additionally and/or alternatively, the pressuresensor array can be scaled to touch sensor surfaces 116 of differentsizes—such as by including a different number of rows and/or columns ofpressure sensor elements and/or changing the lateral and/or longitudinalpitch distances between pressure sensor elements—in order tomechanically support and provide force-sensing capabilities on a rangeof touch sensor surfaces 116 sizes.

In this implementation, the set of pressure sensor elements, whencoupled to the chassis, mechanically support the substrate 110 and thetouch sensor surface 116 by exerting normal forces on the substrate 110at each grid location. Thus, pressure sensor elements located under themiddle portion of the touch sensor surface 116 constrain the touchsensor surface 116 and the substrate 110 against local applications offorce, thereby reducing excessive warping and/or deformation of thesecomponents (and therefore of force-sensitive material) over the lifespanof the system 100 and maintaining consistent and accurate resistivesignal outputs of the pressure sensor array. In variations in which thesystem 100 includes a capacitive touch sensor 170 (e.g., interposedbetween the substrate 110 and the touch sensor surface 116), mechanicalsupport of the substrate 110, capacitive touch sensor 170, and touchsensor surface 116 enabled by the pressure sensor array can also reducestrain on the capacitive touch sensor 170 during applications of forceto the touch sensor surface 116, maintaining a high degree of accuracyand consistency in outputs of the capacitive touch sensor 170 duringoperation.

Additionally, by mechanically supporting the touch sensor surface 116 ata set of discrete locations, the array of pressure sensor elements canover-constrain the touch sensor surface 116 and the substrate 110 (e.g.,compared to a continuous sensor array or a “four-corner” arrangementwith force-sensitive elements beneath each corner of the touch sensorsurface 116) such that displacements (e.g., compressions) of the touchsensor surface 116 toward the chassis are substantially localized aroundlocal maximums in applied force (e.g., the location of an input).Consequently, surrounding areas of the touch sensor surface 116 mayexhibit displacement away from the chassis (e.g., negative displacement)due to mechanical constraints imposed by the array of pressure sensorelements. The force-sensitive material in pressure sensor elementsnearest the location of an input applied over the touch sensor surface116 may therefore exhibit substantially greater compression than theforce-sensitive material in distal pressure sensor elements, whichdisproportionately changes (e.g., decreases) resistances across driveelectrode and sense electrode pairs 130 in proximal pressure sensorelements. Likewise, negative displacement of the touch sensor surface116 may stretch (e.g., expand) the force-sensitive material insurrounding pressure sensor elements, thereby increasing resistancesacross drive electrodes and sense electrode pairs 130 in these pressuresensor elements. The controller 180 can therefore interpret this patternof resistance values (or changes in resistance values) in order toderive (e.g., calculate, compute) approximate locations of inputsapplied over the touch sensor surface 116.

Thus, the discrete array of pressure sensor elements, in conjunctionwith the controller 180, can attain a high dynamic range (e.g., forcesensitivity) as well as derive approximate locations of forces appliedover the touch sensor surface 116 based on known and/or interpolateddynamics of the touch sensor surface 116, even with a small number ofdrive electrode and sense electrode pairs 130 (e.g., relative to acontinuous array of drive electrodes and sense pairs). Additionallyand/or alternatively, the system 100 can merge (low-resolution) forcedata captured by the pressure sensor array with capacitance valuesand/or a capacitance image captured by an integrated capacitive touchsensor 170, thereby enabling the controller 180 to interpolate (e.g.,approximate) force distributions across the touch sensor surface 116based on (high-resolution) capacitance data. While the examples aboverelate to a relatively small (e.g., 4×3) array of pressure sensorelements, the pressure sensor array can be scaled to larger form factorsand/or resolutions in order to mechanically support and provide forcesensing capabilities for input devices defining larger touch sensorsurfaces 116 (e.g., a 5-inch by 11-inch keyboard surface, a touchdisplay of a tablet computer).

In this implementation, each pressure sensor element in the pressuresensor array can be electrically coupled to the controller 180 and/orother pressure sensor elements by a set of drive lines and sense linesrouted through the substrate 110. Thus, the controller 180 cancontinuously and/or intermittently measure (e.g., sample) resistancevalues from each drive electrode and sense electrode pair 130 in eachpressure sensor element in the pressure sensor array in order todetermine force magnitudes and/or locations of inputs applied over thetouch sensor surface 116. In this arrangement, drive lines and senselines connected to drive electrode and sense electrode pairs 130 in thepressure sensor array define a grid array including nodes (e.g.,crossovers) at the location of each pressure sensor element. Forexample, a set of drive electrodes in each pressure sensor elementwithin a row of pressure sensor elements can be connected to a commondrive line routed through the substrate 110 to the controller 180.Additionally, a set of corresponding sense electrodes (e.g., definingdrive electrode and sense electrode pairs 130 with the set of driveelectrodes) in each pressure sensor element within a column of pressuresensor elements can be connected to a common sense line routed throughthe substrate 110 to the controller 180. Due to the lateral andlongitudinal pitch distances between pressure sensor elements in thepressure sensor array, the grid arrangement of drive lines and senselines is compact and occupies a small portion of the area of thesubstrate 110 (e.g., relative to a continuous grid array of electrodepairs 130, thereby enabling haptic feedback components, controllers 180,and other circuit components to be embedded in, deposited on, orotherwise integrated directly with the bottom surface of the substrate110, reducing the total stack height of the system 100.

Generally, the system 100 also includes a haptic feedback module,including a set of vibrators arranged under the touch sensor surface 116and electrically coupled to the controller 180. During operation, thecontroller 180 is generally configured to drive the set of vibrators tooscillate the touch sensor surface 116 in response to detecting an inputon the touch sensor surface 116 (e.g., exceeding a threshold force orpressure) in order to output haptic feedback that mimics the soundand/or tactile sensation of depression and release (e.g., actuation) ofa mechanical snap button (e.g., trackpad click) or a mechanical key.

In one implementation, the system 100 includes a set of vibratorsarranged under the touch sensor surface 116 and/or the substrate 110 andproximal to the perimeter of the substrate 110. For example, eachvibrator can define an inductor—such as multi-loop wire or trace coilbonded to the inner surface of the substrate 110—paired with a magneticelement 194 interposed between the inductor and the chassis. In thisexample, polarization of one or more inductors (e.g., via a drivecurrent of a particular waveform output by the controller 180 and/or ahaptic feedback module coupled to the controller 180) oscillates aneccentric mass defined by the substrate 110 and the touch sensor surface116 in order to generate a vibratory feedback signal that mimicsactuation of a mechanical button and/or key, such as a trackpad “click”or mechanical keystroke.

In another implementation, the set of vibrators is arranged into a gridarray offset from the grid array of pressure sensor elements such thateach vibrator is positioned between a subset of pressure sensorelements. In this implementation, the controller 180 (e.g., a hapticfeedback sub-controller 180 within the controller 180) can be configuredto selectively drive (e.g., oscillate) a subset of vibrators in the gridarray closest to a local maximum in applied force and/or calculatedlocation of an input on the touch sensor surface 116 in order tolocalize haptic feedback around the input location. Additionally, thisgrid arrangement enables the system 100 to incorporate vibrators ofsmaller physical dimensions into the haptic feedback module, therebyreducing the total stack height of the system 100.

In yet another implementation, in which the substrate 110 defines amulti-layer PCB, the set of vibrators can include a set of inductorsformed within and/or directly integrated into one or more layers of themulti-layer PCB. For example, the system 100 can include: a set ofmulti-loop wire or trace coils electrically coupled to the controller180 (e.g., a haptic feedback sub-controller 180 within the controller180) within one or more regions of the lower layer(s) of the multi-layerPCB; and a set of magnetic elements 194 (e.g., ferrous elements,permanent magnets) interposed between the multi-layer PCB and thechassis and aligned with the set of multi-loop wire coils, therebysignificantly reducing the total stack height of the system 100. In thisimplementation, the lower layer of the PCB can define a conductiveground plane—such as a layer of copper or other conductive materialspanning the area of the pressure sensor array and electrically coupledto the controller 180—that is notched or otherwise split proximal to oneor more coils. While scanning resistance values across drive electrodeand sense electrode pairs 130 in the pressure sensor array, thecontroller 180 can drive the ground plane and the set of inductors to aground and/or virtual reference potential to shield the drive electrodeand sense electrode pairs 130 from external electromagnetic radiation,thereby increasing the signal-to-noise ratio and improving the accuracyof resistive signal outputs of the pressure sensor array. Additionallyand/or alternatively, the controller 180 can be configured to pausescanning of the pressure sensor array during a haptic feedback cycle(e.g., output of a haptic feedback response), and resume scanning thepressure sensor array upon completion of the haptic feedback cycle,thereby reducing interference between magnetic fields—induced bypolarization of the inductors—and resistive signals sampled fromunderlying drive electrode and sense electrode pairs 130.

1.4 Capacitive Touch Sensor

As shown in FIG. 4, one variation of the system 100 includes acapacitive touch sensor 170 (e.g., a mutual projected capacitance sensor120, a self-capacitance sensor 120) arranged over the pressure sensorarray. In particular, the capacitive touch sensor 170 can be arrangedover the substrate 110, while the pressure sensor array can be arrangedunder the substrate 110 opposite the capacitive touch sensor 170. Thecapacitive touch sensor 170 can define a standalone or discrete touchsensor that includes a set of capacitance drive electrodes andcapacitance sense electrodes that form a grid array across the top layerin of substrate 110. The number of drive electrode and sense electrodepairs 130 in the set of capacitance drive and capacitance senseelectrodes may be substantially (e.g., two orders of magnitude) greaterthan the number of drive electrode and sense electrode pairs 130 in thepressure sensor array.

Generally, the substrate 110 includes a layer of flexible material thatcan flex and deform under minimal applied load in order to transmitforces exerted over the touch sensor surface 116 (e.g., from an input)through the substrate 110 to force-sensitive materials in pressuresensor elements, thereby enabling forces exerted over the touch sensorsurface 116 to effect resistance changes across drive electrode andsense electrode pairs 130 in the pressure sensor array. The capacitivetouch sensor 170 can include and/or interface with a capacitancecontroller 180 within the controller 180 configured to generate andoutput a capacitive touch image representing the location, size, and/orduration of inputs on the touch sensor surface 116, as described in moredetail below.

1.5 Controller

Generally, the controller 180 includes a pressure sensor sub-controller180, a capacitive sensor sub-controller 180, and/or a hapticssub-controller 180. The pressure sensor sub-controller 180 within thecontroller 180 functions to drive the pressure sensor array, to readresistance values between drive electrode and sense electrode pairs 130in the pressure sensor array during a scan cycle, to transformresistance data sampled from the pressure sensor array into magnitudesof force inputs over the touch sensor surface 116, and to derive (e.g.,interpolate, calculate) an approximate location of the input on thetouch sensor surface 116 based on observed variations in resistanceamong discrete pressure sensor elements and/or observed resistancegradients across drive electrode and sense electrode pairs 130 withinthe pressure sensor elements.

In one implementation, the pressure sensor sub-controller 180 includes:an array column driver (ACD); a column switching register (CSR); acolumn driving source (CDS); an array row sensor (ARS); a row switchingregister (RSR); and an analog to digital converter (ADC). In thisimplementation, the touch sensor 110 can include a variable impedancearray (VIA) that defines: interlinked impedance columns (IIC) coupled tothe ACD; and interlinked impedance rows (IIR) coupled to the ARS. Duringa resistance scan cycle: the ACD can select the IIC through the CSR andelectrically drive the IIC with the CDS; the VIA can convey current fromthe driven IIC to the IIC sensed by the ARS; the ARS can select the IIRwithin the pressure sensor array and electrically sense the IIR statethrough the RSR; and the pressure sensor sub-controller 180 caninterpolate sensed current/voltage signals from the ARS to achievesubstantially accurate detection of proximity, contact, pressure, and/orspatial location of a discrete force input over the touch sensor 110 forthe resistance scan cycle within a single sampling period or overmultiple sampling periods.

In one implementation, a row of drive electrodes in the pressure sensorarray can be connected in series, and a column of sense electrodes inthe pressure sensor array can be similarly connected in series. During asampling period, the pressure sensor sub-controller 180 can: drive afirst row of drive electrodes to a reference voltage while floating allother rows of drive electrodes; record a voltage of a first column ofsense electrodes while floating all other columns of sense electrodes;record a voltage of a second column of sense electrodes while floatingall other columns of sense electrodes; record a voltage of a last columnof sense electrodes while floating all other columns of senseelectrodes; drive a second row of drive electrodes to the referencevoltage while floating all other rows of drive electrodes; record avoltage of the first column of sense electrodes while floating all othercolumns of sense electrodes; record a voltage of the second column ofsense electrodes while floating all other columns of sense electrodes;record a voltage of the last column of sense electrodes while floatingall other columns of sense electrodes; and finally drive a last row ofdrive electrodes to the reference voltage while floating all other rowsof drive electrodes. The pressure sensor sub-controller 180 can thenrecord a voltage of the first column of sense electrodes while floatingall other columns of sense electrodes; record a voltage of the secondcolumn of sense electrodes while floating all other columns of senseelectrodes; and record a voltage of the last column of sense electrodeswhile floating all other columns of sense electrodes in Block S110. Thepressure sensor sub-controller 180 can thus sequentially drive rows ofdrive electrodes in the pressure sensor array; and sequentially readresistance values (e.g., voltages) from columns of sense electrodes inthe pressure sensor array.

The capacitance sub-controller 180 can execute a similar process to:sequentially drive rows of capacitance drive electrodes in thecapacitive sensor; sequentially sample capacitance values (e.g.,voltages) from columns of capacitance sense electrodes in the capacitivesensor; interpolate the sampled capacitance values to derive a location,size, and/or duration of a touch input on the touch sensor surface 116and/or proximity of an object to the touch sensor surface 116; andoutput a touch image representing the touch input.

In one implementation, the pressure sensor sub-controller 180 andcapacitive sensor sub-controller 180 interface with a master controller180 within the controller 180, thereby integrating the pressure sensorsub-controller 180 and capacitive sensor sub-controller 180 into asingle input device (e.g., a trackpad, a keyboard, a touch-sensitivedisplay). Generally, the master controller 180 is configured to compareand/or combine pressure (e.g., force) data and capacitive touch data inorder to: confirm and/or characterize an input or object at the touchsensor surface 116; generate a touch image (e.g., an annotated touchimage) representing total force exerted over the touch sensor surface116 or a pressure distribution across the touch sensor surface 116during a scan cycle, as well as locations, sizes, and/or proximity ofobjects near the touch sensor surface 116 during the scan cycle (e.g.,based on both resistance and capacitance data); and to output the(annotated) touch image and/or access a preprogrammed command functionthat corresponds to the touch image. In another implementation, thepressure sensor sub-controller 180 and the capacitive sensorsub-controller 180 are integrated into a single controller 180configured to execute the processes described above and Blocks of themethod S100 in order to detect and characterize touch inputs on thetouch sensor surface 116.

1.6 Pressure Sensor Resolution

In one implementation, each pressure sensor element includes a set of(e.g., interdigitated) drive electrode and sense electrode pairs 130.For example, the set of drive electrode and sense electrode pairs 130can be arranged into a linear array (e.g., across the diameter of thepressure sensor element). In this example, the controller 180 canmeasure a resistance value (or change in resistance) across each pair ofdrive electrodes and sense electrodes during a given pressure scancycle. However, each drive electrode and sense electrode pair 130 mayexhibit a slightly different resistance than adjacent drive electrodeand sense electrode pairs 130 due to local variations in applied force.For example, a drive electrode and sense electrode pair 130 that iscloser to the location of an input on the touch sensor surface 116(i.e., closer to a local maximum in applied force) may exhibit a greaterchange in resistance between the drive electrode and sense electrodethan a drive electrode and sense electrode pair 130 that is further fromthe input location. Thus, the controller 180 can interpret localvariations in resistance values across drive electrode and senseelectrode pairs 130 in this linear arrangement as part of aone-dimensional gradient in force and/or pressure applied over touchsensor surface 116. When sampling (e.g., measuring) resistance valuesacross drive electrode and sense electrode pairs 130 in each pressuresensor element in the pressure sensor array, the controller 180 cantherefore derive (e.g., calculate, compute) approximate locations oflocal and/or global maximums in applied force at the touch sensorsurface 116 based on gradient information from each pressure sensorelement, which may correspond to locations of inputs applied over thetouch sensor surface 116. The controller 180 can then furtherinterpolate a (approximate) force distribution across the touch sensorsurface 116 based sampled resistance values and resistance (e.g., force)gradients across drive electrodes and sense electrode pairs 130 in eachpressure sensor element.

In another example, the pressure sensor element includes a set of (e.g.,interdigitated) drive electrode and sense electrode pairs 130 arrangedto form a two-dimensional array. For example, the two-dimensional arraycan include a first linear array of drive electrode and sense electrodepairs 130 arranged along a first axis (e.g., across the diameter ofpressure sensor element) and a second linear array of drive electrodeand sense electrode pairs 130 arranged along a second axis that isorthogonal to the first axis. For example, the two linear arrays ofelectrode pairs 130 define an “L”-shaped arrangement (e.g., such thatthe first axis and the second axis extend unidirectionally from a sharedorigin). In another example, the two linear arrays of electrode pairs130 define a cross-shaped arrangement (e.g., each axis perpendicularlybisects the other).

In another implementation, the drive electrode and sense electrode pairs130 can define a grid array such that drive electrodes and/or senseelectrodes are located at each position in a set of rows and columns.Thus, the controller 180 can interpret local variations in resistancevalues across drive electrodes and sense electrode pairs 130 (e.g., dueto small local variations in applied force) in these two-dimensionalarrangements as part of a two-dimensional gradient in force and/orpressure applied over touch sensor surface 116. When sampling (e.g.,measuring) resistance values across drive electrode and sense electrodepairs 130 in each pressure sensor element in the pressure sensor array,the controller 180 can therefore determine (e.g., calculate, compute)approximate locations of local and/or global maximums in applied forceat touch sensor surface 116 based on gradient information from eachpressure sensor element, which may correspond to locations of inputsapplied over the touch sensor surface 116. The controller 180 canfurther interpolate a force distribution across the touch sensor surface116 based sampled resistance values and resistance (e.g., force)gradients across drive electrodes and sense electrode pairs 130 in eachpressure sensor element.

1.7 Force Characterization

Blocks of the method S100 recite: detecting a touch input at a touchsensor surface 116 arranged above a pressure sensor including an arrayof pressure sensor elements at Block S120; and sampling a resistancevalue at a drive electrode and sense electrode pair 130 in each pressuresensor element in the pressure sensor array to obtain a set ofresistance values at Block S120. Generally, the controller 180 isconfigured to: detect presence and/or application of an input at thetactile based on capacitance data sampled from capacitance driveelectrodes and sense electrode pairs 130 in the capacitive touch sensor170 and/or resistance data sampled from drive electrode and senseelectrode pairs 130 in a pressure sensor element; and execute a pressurescan cycle as described above in order to sequentially sample resistancevalues across each drive electrode and sense electrode pair 130 in eachpressure sensor element in the pressure sensor array. In oneimplementation, the controller 180 (e.g., the capacitive sensorsub-controller 180) can simultaneously sample a set of capacitancevalues across each capacitance drive electrodes and sense electrode pair130 in the capacitive sensor or access a set of capacitance valuessampled in a previous scan cycle.

Blocks of the method S100 further recite: transforming the set ofresistance values into a set of magnitude components of a force exertedover the touch sensor surface 116 by the touch at Block S130; andcalculating a magnitude of the force based on the set of magnitudecomponents at Block S140. Generally, the controller 180 is configuredto: interpret resistance values sampled from drive electrodes and senseelectrode pairs 130 in a pressure sensor element as a magnitude of thenet force applied to the touch sensor surface 116 (e.g., due toapplication of the touch input) at the location of the pressure sensorelement; iterate this analysis over all pressure sensor elements in thepressure sensory array; and combine each derived magnitude component tocalculate the total force applied over the touch sensor surface 116during the pressure scan cycle. In one implementation, the controller180 transforms the set of resistance values into force magnitudecomponents by comparing resistance values sampled from each driveelectrodes and sense electrode pair 130 to calibration data obtainedfrom the pressure sensor array. For example, the controller 180 canmask, scale, and/or normalize resistance values and/or force magnitudesderived from these resistance values according to a set of scalingfactors calculated for each pressure sensor during a calibration processexecuted prior to operation. Additionally and/or alternatively, thecontroller 180 can transform the set of resistance values into forcemagnitude components based on derived correlations between applied force(e.g., force exerted on the force-sensitive material) and resistance (ora change in resistance) between drive electrodes and sense electrodes inthe pressure sensor element. The controller 180 can then sum over allforce magnitude components calculated for each pressure sensor elementto calculate (e.g., determine, derive) the total force applied over thetouch sensor surface 116 by the touch input during the pressure scancycle.

Blocks of the method S100 further recite: deriving an estimated locationof the touch input on the touch sensor surface 116 based on differencesbetween magnitude components in the set of magnitude components at BlockS150. As described above, pressure sensor elements arranged beneath themiddle portion of the touch sensor surface 116 exert normal forces onthe touch sensor surface 116 that can over-constrain the touch sensorsurface 116. Thus, each pressure sensor element in the array canexperience different forces based on their respective proximities to theinput location. In particular, pressure sensor elements proximal to alocal maximum in force applied over the touch sensor surface 116 (e.g.,the location of a touch input) may experience disproportionately largeforce magnitudes, while pressure sensor elements further away from theselocal maxima may experience relatively small or even net negative forcemagnitudes (e.g., displacement of the touch sensor surface 116 away fromthe chassis). The controller 180 is therefore configured to; analyze theforce magnitude components calculated at each pressure sensor element;derive (e.g., determine, compute) a location estimation for local maximain force applied over the touch sensor surface 116 based on differencesbetween force magnitude components measured at the location of thesepressure sensor elements (e.g., by comparing to calibration data); andcorrelate the location estimation with the location of an input on thetouch sensor surface 116. In implementations where pressure sensorelements include an array of drive electrode and sense electrodes, thecontroller 180 can further interpret measured variations in resistancebetween adjacent drive electrode and sense electrode pairs 130 as agradient of force applied over each pressure sensor element. Thus, thecontroller 180 can analyze the set of gradients calculated at pressuresensor elements in order to estimate and/or refine its estimatedlocation of local maxima in applied force. The controller 180 can alsocalculate a location of the input based on a set capacitance valuessampled from a capacitive touch sensor 170, compare the location derivedfrom these capacitance values to the estimated location derived fromforce magnitude components and, if necessary, correct the estimatedlocation when generating a touch image corresponding to the input.

Blocks of the method S100 further recite: generating a pressure imageassociated with the touch input representing a force distribution acrossthe touch sensor surface 116 and the estimated location of the touchinput at Block S160. Generally, the controller 180 is configured togenerate a pressure image corresponding to the touch input that includesa force distribution across the area of the touch sensor surface 116(e.g., a pressure map) produced by the touch input over the pressurescan cycle. The controller 180 can also annotate the pressure image(e.g., the force distribution) with a (x,y) location or a bounded curvecorresponding to the estimated location of the touch input on the touchsensor surface 116. In one variation in which the system 100 includes acapacitive touch sensor 170, the controller 180 can be configured togenerate a capacitance image (e.g., at the capacitance sub-controller180) representing the location, size, and/or proximity of objects on thetouch sensor surface 116 during a capacitance scan cycle correspondingto a resistive scan cycle of the pressure sensor array. As described inmore detail below, the controller 180 can then combine (e.g., overlay,integrate) the capacitance image with the pressure image and output anannotated touch image.

Blocks of the method S100 further recite: in response to the magnitudeof the force exceeding a threshold magnitude, selectively driving avibrator in a set of vibrators closest to the estimated location of thetouch input to oscillate the touch sensor surface 116 at Block S120.Generally, the controller 180 is configured to: compare the calculatedforce magnitude to a threshold magnitude; select a vibrator from a setof vibrators based on proximity to the location of the touch input onthe touch sensor surface 116; and drive the selected vibrator in orderto generate oscillation of the touch sensor surface 116 (e.g., withoutdriving other vibrators in the set of vibrators). Thus, the controller180 (e.g., a haptic feedback sub-controller 180 within the controller180) can deliver a haptic feedback response (e.g., a vibratory signal)that is substantially localized to the area of touch inputs on the touchsensor surface 116 to mimic the tactile response of a mechanical snapbutton in response to inputs exceeding a predetermined force magnitude(e.g., 160 g). Additionally, the controller 180 can drive the selectedvibrator such that the amplitude, frequency and/or duration ofoscillation is proportional to the magnitude of the input force in orderto customize haptic feedback responses to input characteristics.

1.8 Merging Force and Capacitance Data

In one variation in which the system 100 includes a capacitive touchsensor 170 arranged over the pressure sensor array, the controller 180is configured to execute Blocks of the method S100 in order to:characterize force magnitudes of a set of inputs over the touch sensorsurface 116 based on (low resolution) resistance data sampled from thepressure sensor array; concurrently detect locations and sizes of theset of inputs based on (high resolution) capacitance data concurrentlysampled from the capacitive touch sensor 170; and combine the resistancedata and capacitance data to generate a force-annotated touch image(s)representing these input characteristics. The controller 180 cantherefore: augment high resolution capacitance data (e.g., a capacitanceimage) with force magnitude data captured by the pressure sensor arraywithout significant increases to the controller 180's power and/orcompute requirements; and leverage force magnitude data captured by thepressure sensor array to identify, discard and/or suppress false orerrant input areas represented in the capacitance data to improve theaccuracy and consistency of system outputs.

In one variation, the controller 180 defines a single controller 180electrically coupled to both the pressure sensor array and thecapacitive touch sensor 170. Thus, in this variation, the controller 180is configured to: scan the (low-resolution) pressure sensor array andthe (high-resolution) capacitive touch sensor 170 at the same scanfrequency (i.e., one scan of the pressure sensor array concurrent with,overlapping, or immediately following each scan of the capacitive touchsensor 170); and fuse pressure and capacitance scan pairs into aforce-annotated touch image for each scan cycle. In particular, thecontroller 180 can: read a set of capacitance values from capacitiveelectrodes and/or capacitive electrode pairs 130 in the capacitive touchsensor 170 during a scan cycle; and concurrently scan a set ofresistance values across each drive electrode and sense electrode pair130 in the pressure sensor array during this scan cycle (e.g., during asecond period of time within this scan cycle); transform the set ofresistance values into force magnitudes (or force magnitude components,force gradients) of a set of inputs applied over the touch sensorsurface 116 during the scan cycle; transform the set of capacitancevalues into a capacitance image representing locations and sizes ofthese inputs on the touch sensor surface 116; and label input regions inthe capacitance image with corresponding force magnitudes (and/or forcemagnitude components, force gradients), thereby generating aforce-annotated touch image representing locations, sizes, and forcecharacteristics of the set of inputs on the touch sensor surface 116during the scan cycle.

Furthermore, as shown in FIG. 3, the controller 180 can leverage lowresolution force data captured by the pressure sensor array to identifya false and/or errant input area within high resolution capacitanceimage based on discrepancies between capacitance data representingparticular input areas and force magnitudes corresponding to these inputareas. In particular, the controller 180 can suppress, normalize, orsubtract out capacitance values within a region of touch images,captured during subsequent scan cycles, in response to detecting absenceof an accompanying force in order to reduce instances of false positiveinput detection, such as due to presence of liquid on the touch sensorsurface 116. For example, over a sequence of ten scan cycles, thecontroller 180 can: detect an increase in capacitance values within aregion of the capacitive touch sensor 170; concurrently detect absenceof forces applied over the touch sensor surface 116 based on resistancedata sampled from the pressure sensor array (e.g., or forces fallingbelow a threshold force magnitude); flag the increase in capacitancevalues as an errant input; and normalize and/or mask these capacitancevalues from a corresponding region of touch images generated duringsubsequent scan cycles. Thus, the controller 180, in conjunction withthe pressure sensor array, can identify and correct instances of falsepositive input detection by the capacitive touch sensor 170 in order toimprove the accuracy and consistency of outputs of the system 100.

1.9 Rapid Scanning

In another variation, the controller 180 includes: a capacitancesub-controller 180 electrically coupled to the capacitive touch sensor170 and configured to scan capacitance values across capacitiveelectrodes in the capacitive touch sensor 170 at a first scan frequency;and a pressure sub-controller 180 configured to scan resistance valuesacross drive electrode and sense electrode pairs 130 in the pressuresensor array at a second scan frequency. In this variation, thecontroller 180 can sample resistance values across the (low-resolution)pressure sensor array over a scan period that is orders of magnitudeshorter than a scan period in which the system 100 scans the(high-resolution) capacitive touch sensor 170, as shown in FIG. 4. Forexample, during one 50-millisecond scan cycle, the controller 180 can:sample the pressure sensor array ten times on a five-millisecondinterval; calculate average force magnitudes applied to the touch sensorsurface 116 and/or rates of change of these applied forces during thisscan cycle based on these resistance values; and activate the capacitivetouch sensor 170 for the next scan cycle if average forces applied tothe touch sensor surface 116 exceeds a threshold magnitude or if forcesapplied to the touch sensor surface 116 are changing during the scancycle. During the next 50-millisecond scan cycle, the controller 180can: sample the (low-resolution) pressure sensor array ten times on afive-millisecond interval; calculate average force magnitudes applied tothe touch sensor surface 116 and/or rates of change of these appliedforces during this next scan cycle based on these resistance values;sample the capacitive touch sensor 170 once during this next scan cycle;deactivate the capacitive touch sensor 170 if no touch is represented inthese capacitance values; and then fuse these capacitance values and theaverage forces applied to the touch sensor surface 116 and/or rates ofchanges of forces—derived from concurrent resistance data—into oneforce-annotated touch image for this next scan cycle.

In one implementation, the controller 180 can execute a sequence ofresistive scan cycles (e.g., ten scan cycles, 100 scan cycles) duringeach capacitive scan cycle executed by the capacitance sub-controller180 and rapidly detect inputs over the touch sensor surface 116 based on(only) force magnitudes and/or resistance data sampled during one ormore of these resistive scan cycles. The controller 180 can then accessand/or execute command functions—such as cursor clicks orkeystrokes—immediately succeeding detection of the input via thepressure sensor array (e.g., prior to completion of a correspondingcapacitive scan cycle) in order to reduce the latency and/or delaybetween applications of inputs to the touch sensor surface 116 andexecution of corresponding command functions. For example, during a50-millisecond scan cycle, the controller 180 can: sample the capacitivetouch sensor 170 once over a 50-millisecond capacitance scan period;concurrently sample the pressure sensor array ten times over a sequenceof ten five-millisecond pressure scan periods; calculate a forcemagnitude applied over the touch sensor surface 116 during each pressurescan period; and, in response to one or more of these force magnitudesexceeding a threshold force magnitude, select and/or output a commandfunction prior to the conclusion of the 50-millisecond capacitance scanperiod. Thus, the controller 180 can rapidly detect initial applicationof an input to the touch sensor surface 116 and/or calculate forcemagnitudes of inputs occurring over a short period of time (e.g., a tapof a stylus/fingertip) to the touch sensor surface 116 based on changesin resistance between drive electrode and sense electrode pairs 130prior to fully scanning the capacitive touch sensor 170. The controller180 can then immediately select and/or output certain command functionssuch as a cursor click upon detecting such inputs, thereby reduce thelatency between application of an input to the touch sensor surface 116and execution of a particular command function associated with the inputby or in conjunction with the controller 180.

Additionally and/or alternatively, the controller 180 can detect avelocity and/or impulse (i.e., force integral over time) of the inputover a sequence of high-frequency resistive scan cycles. For example,during a given capacitive scan cycle, the controller 180 can: execute asequence of resistive scan cycles at a particular scan frequency;characterize a sequence of force magnitudes applied by an input over thetouch sensor surface 116 based on resistance values captured by thepressure sensor array during each resistive scan cycle; and calculate animpulse applied by the input over the touch sensor surface 116 based onthe sequence of force magnitudes and the particular scan frequency. Thecontroller 180 can then modify haptic feedback responses and/or commandfunctions selected in response to the input based on the impulse and/orvelocity of the input. For example, if the system 100 is integrated intoan electronic instrument or a device (e.g., a tablet, a laptop computer)executing a music application, the controller 180 can select aparticular volume and/or rise and fall times of a musical note output bythe electronic instrument and/or device based on the impulse and/orvelocity of the input.

Furthermore, by rapidly scanning the pressure sensor array, thecontroller 180 can maintain the high-resolution capacitive touch sensor170 in an idle (e.g., low-power) state until a force (e.g., an input) isdetected on the touch sensor surface 116. In particular, as shown inFIG. 4, the controller 180 can: continuously scan resistance values fromthe pressure sensor array over a first period of time; maintain thecapacitive sensor in an idle (e.g., low-power, undriven) mode during thefirst period of time; at a second time immediately succeeding the firstperiod of time, detect application of an input of a first forcemagnitude based on resistance values sampled by the pressure sensorarray; in response to the first force magnitude exceeding a thresholdforce magnitude, transition the capacitive sensor to an active mode atapproximately the second time in order to sample changes in capacitancewithin the capacitive sensor responsive application of the input. Thus,the system 100 can idle the capacitive sensor while (e.g., continuously)scanning the (low-resolution) pressure sensor array until the pressuresub-controller 180 detects a statistically significant force applied tothe touch sensor surface 116, thereby substantially reducing powerconsumption of the capacitive sensor, and thus power consumption of thesystem 100 during operation.

2. Force by Resistance

As shown in FIGS. 5 and 6, one variation of a system for detectinginputs at a computing device includes: a substrate 110 including a toplayer 111, a bottom layer 112 defining an array of support locations114, and an array of electrode pairs 130 arranged on the bottom layer112, each electrode pair 130 in the array of electrode pairs 130occupying a support location 114 in the array of support locations 114;and a touch sensor surface 116 arranged over the top layer in of thesubstrate 110. This variation of the system 100 also includes a set ofspacers 140, each spacer 140 in the set of spacers 140: arranged over anelectrode pair 130, in the array of electrode pairs 130, at a supportlocation 114, in the array of support locations 114, on the bottom layer112 of the substrate 110; and including a force-sensitive materialexhibiting variations in local bulk resistance responsive to variationsin applied force. This variation of the system 100 further includes: anarray of spring elements 150 configured to support the substrate 110 ona chassis and to yield to displacement of the substrate 110 downwardtoward the chassis responsive to forces applied to the touch sensorsurface 116, each spring element 150 in the array of spring elements 150coupled to a spacer 140, in the set of spacers 140, at a supportlocation 114 in the array of support locations 114; and a controller 180configured to read resistance values from the array of electrode pairs130 and interpret force magnitudes of inputs applied to the touch sensorsurface 116 based on resistance values read from the array of electrodepairs 130.

As shown in FIG. 9, one variation of the system 100 includes: asubstrate 110 including a top layer 111, a bottom layer 112, and anarray of electrode pairs 130 arranged on the bottom layer 112; an arrayof drive electrodes and sense electrodes arranged on the top layer in ofthe substrate 110; and a touch sensor surface 116 arranged over thearray of drive electrodes and sense electrodes. This variation of thesystem 100 also includes a set of spacers 140, each spacer 140 in theset of spacers 140: arranged over an electrode pair 130, in the array ofelectrode pairs 130, on the bottom layer 112 of the substrate 110; andincluding a force-sensitive material exhibiting variations in local bulkresistance responsive to variations in applied force. This variation ofthe system 100 further includes an array of spring elements 150configured to support the substrate 110 on a chassis and to yield todisplacement of the substrate 110 downward toward the chassis responsiveto forces applied to the touch sensor surface 116, each spring element150 in the array of spring elements 150 coupled to a spacer 140 in theset of spacers 140. This variation of the system 100 also includes acontroller 180 configured to, during a scan cycle: read a set ofcapacitance values between drive electrodes and sense electrodes in thearray of drive electrodes and sense electrodes; read a set of resistancevalues across electrode pairs 130 in the array of electrode pairs 130;detect a lateral position and a longitudinal position of a touch inputon the touch sensor surface 116 based on the set of capacitance values;interpret a force magnitude of the touch input based on the second setof resistance values; and output the lateral position, the longitudinalposition, and the force magnitude of the touch input.

2.1 Applications

Generally, in this variation, the system 100 includes a set of springelements 150 that: vertically support discrete pressure sensors—arrangedacross the bottom layer 112 of the substrate 110—against the chassis;and yield to a force applied to the touch sensor surface 116, therebyenabling this force to compress the nearest pressure sensors. The springelements 150 also absorb distortion across the substrate 110 due tolocal forces applied to the touch sensor surface 116, thereby limitingor preventing tension across other pressure sensors further from thisapplication force, which may otherwise separate spacers 140 fromelectrode pairs 130 in these other pressure sensors and thus preventreliable detection of resistance values from these other pressuresensors.

Therefore, the set of spring elements 150 can cooperate to: maintaincontact between spacers 140 and their corresponding electrode pairs 130across all pressure sensors in the system 100; enable the controller 180to read a resistance from each pressure sensor; and thus enable thecontroller 180 to accurately interpret a total force applied to a touchsensor surface 116 (i.e., because the set of springs elements cooperateto maintain the state of each pressure sensor within its sensibledynamic range) over a range of force magnitudes and locations of inputsapplied to the touch sensor surface 116.

2.2 Substrate

As described above and shown in FIG. 6, in this variation, the substrate110 can include a fiberglass PCB including: a top layer 111; and abottom layer 112 that defines an array of support locations 114.

The substrate 110 further includes an array of electrode pairs 130arranged at the array of support locations 114 across the bottom layer112. For example, each electrode pair 130 can include a pair ofinterdigitated electrodes extending across a support location 114—in thearray of support locations 114—on the bottom layer 112 of the substrate110, as shown in FIG. 7.

2.3 Capacitive Touch Sensor

As described above and shown in FIG. 9, in this variation, the system100 can further include a capacitive touch sensor 170 arranged acrossthe top layer in of the substrate 110. In one implementation, thecapacitive touch sensor 170 includes: an array of drive electrodes andsense electrodes arranged on the top layer in of the substrate 110; anda cover layer (e.g., a glass film) arranged over the substrate 110 toenclose the array of drive electrodes and sense electrodes and to formthe touch sensor surface 116 (e.g., a “tactile surface”) over thesubstrate 110.

In this implementation, the system 100 can include: a first quantity ofelectrode pairs 130 that form a first quantity of pressure sensorsacross the bottom layer 112 of the substrate 110; and a second quantityof drive electrodes and sense electrodes that form a second quantity ofpixels—at least two orders of magnitude greater than the firstquantity—in the capacitive touch sensor 170. For example the substrate110 can define a rectangular geometry, and the capacitive touch sensor170 and the touch sensor surface 116 can span a 90-millimeter by120-millimeter sensible area over the substrate 110. In this example,the substrate 110 can define ten support locations 114 adjacent theperimeter of the rectangular geometry, including one support location114 in each corner, one support location 114 centered along the shortsides of the substrate 110, and two support locations 114 centered alongthe long sides of the substrate 110. In this example, the capacitivetouch sensor 170 can include 60 drive electrode lines and 45 senseelectrode lines for a total of 2,700 capacitive sensing pixels withinthe 90-millimeter by 120-millimeter sensible area over the substrate110.

2.4 Spacers

As described above and shown in FIGS. 5 and 10, in this variation, thesystem 100 includes a set of spacers 140, wherein each spacer 140: isarranged over an electrode pair 130 at a support location 114 on thebottom layer 112 of the substrate 110; and includes a force-sensitivematerial exhibiting variations in local bulk resistance responsive tovariations in applied force.

In one example shown in FIG. 7, the substrate 110 can: define a firstsupport area spanning a circular area (e.g., a seven-millimeter-diameterarea) on the bottom layer 112 of the substrate 110; and include a firstpair of interdigitated electrodes fabricated on the bottom layer 112 ofthe substrate 110 within—and inset (e.g., by one millimeter) from—theperimeter of the first support location 114. In this example, a firstspacer 140 can include a circular “coupon” of force-sensitive material:of size approximating the circular area of the first support location114 (e.g., seven millimeters in diameter); and bonded (e.g., with apressure-sensitive adhesive) to the bottom layer 112 of the substrate110 between the first pair of interdigitated electrodes and theperimeter of the first support area. Furthermore, in this example, thefirst spacer 140 can include a vent port configured to vent air from avoid between the first spacer 140 and the bottom layer 112 of thesubstrate 110 across the first support location 114, thereby enablingthe spacer 140 to maintain contact with and span the first pair ofinterdigitated electrodes. Therefore, a resistance across the first pairof interdigitated electrodes may be representative of a magnitude ofcompression of the spacer 140, which may thus be interpreted as a forcecarried from the touch sensor surface 116, through the substrate 110 andthe spacer 140, and into the chassis. The substrate 110 at the firstsupport location 114, the first pair of interdigitated electrodes, andthe first spacer 140 can thus cooperate to form a first discretepressure sensor that exhibits changes in internal resistance as afunction of force magnitude carried thereby.

In this example, additional pairs of interdigitated electrodes andspacers 140 can be similarly assembled to form additional discretepressure sensors across the substrate 110, each of which exhibitschanges in internal resistance as a function of force magnitude carriedthereby.

However, each spacer 140 and electrode pair 130 can be of any othershape or geometry and assembled in any other way to form a discretepressure sensor on the bottom layer 112 of the substrate 110.

2.5 Spring Elements and Chassis Interface

In this variation, the system 100 further includes an array of springelements 150: coupled to the set of spacers 140 at the array of supportlocations 114; configured to support the substrate 110 on a chassis of acomputing device; and configured to yield to displacement of thesubstrate 110 downward toward the chassis responsive to forces appliedto the touch sensor surface 116.

In one implementation, the system 100 includes a chassis interface 190:configured to mount to the chassis of a computer system; and defining aset of spring elements 150 supported by each spacer 140 and configuredto deflect out of the plane of the chassis interface 190 responsive toan input on the touch sensor surface 116.

In this implementation, the chassis of the computing device can includea chassis receptacle defining a depth approximating (or slightly morethan) the thickness of the spacers 140 (e.g., 1.2-millimeter depth for1.0-millimeter-thick spacers 140). The spacers 140 are bonded to thechassis interface 190 at each spring element 150. The chassis interface190 can then be rigidly mounted to the chassis over the receptacle, suchas via a set of threaded fasteners or an adhesive. The substrate 110 andthe set of spacers 140 may thus transfer a force—applied to the touchsensor surface 116—into these spring elements 150, which deflectinwardly below a plane of the chassis interface 190 and into the chassisreceptacle. Concurrently, each spacer 140 is compressed between thesubstrate 110 and the adjacent spring element 150 and therefore exhibitsa change in its local bulk resistance proportional to the force carriedby this adjacent spring element 150.

2.5.1 Manufacturing Defects

Generally, the array of spring elements 150 can: absorb manufacturingdefects throughout the system 100, such as variations in thickness ofthe spacers 140, deviation from flatness of the substrate 110, anddeviation from parallelism between the substrate 110 and the chassis,etc.; yield a repeatable baseline force at each pressure sensor over arange of ambient and operating conditions; and maintain a consistentload path from the spacers 140 into the chassis.

For example, the substrate 110, the set of spacers 140, and chassisreceptacle may exhibit various manufacturing defects or geometricvariations, such as non-planarity, non-parallelism, and thicknessvariations. Thus, loosening manufacturing tolerances and direct couplingbetween the substrate 110 and the chassis receptacle via the set ofspacers 140 may result in tension across a first subset of these spacers140 and compression across a second subset of these spacers 140. Becausetension across a spacer 140 may separate the force-sensitive materialfrom drive and sense electrode pairs 130 in a pressure sensor and/orbecause the force-sensitive material may not exhibit a measurable changein local bulk resistance when tensioned, a particular pressure sensorcoupled to a particular spacer 140—in the first subset of spacers140—may detect an infinite or high resistance: when no input (i.e., noadditional force) is applied to the touch sensor surface 116; when aninput is applied to the touch sensor surface 116 up to a force magnitudethat transitions the particular spacer 140 from applying a tensionacross the particular pressure sensor to compressing the particularpressure sensor; and over a range of input force magnitudestherebetween. Therefore, in this example, the particular pressure sensormay exhibit no change in resistance or an inconsistent, non-repeatable,uninterpretable signal over this range of input force magnitudes,thereby reducing the dynamic range and sensitivity of the pressuresensor—and the system 100 more generally—at low input force magnitudes.

Furthermore, planarity, parallelism, and/or thickness, etc. of theseelements in the system 100 may change as a function of temperature.Accordingly, tension and compression across these pressure sensors maychange over time as a function of ambient temperature changes, ambientlighting changes, and operation of a computing device including thesystem 100, etc. such that the dynamic range and sensitivity of thesepressure sensors may change non-linearly and unpredictably over time.

Therefore, the system 100 can include the chassis interface 190 thatcouples the spacers 140 to the chassis via a set of spring elements 150that absorb manufacturing defects between the system 100 and the chassisand reduce tension on spacers 140 once assembled into the chassis,thereby increasing the dynamic range and sensitivity of each pressuresensor, such as for both inputs of small force magnitude on the touchsensor surface 116 and inputs of large force magnitude on the touchsensor surface that cause an opposite corner of the substrate 110 tolift from the chassis.

In particular, when the spacers 140 are bonded to corresponding springelements 150 in the chassis interface 190 and when the chassis interface190 is (subsequently) installed (e.g., fastened, clamped, bonded) overthe chassis receptacle, a first subset of spring elements 150 coupled tothe first subset of spacers 140 described above may deflect outwardlyabove the plane of the chassis interface 190, and a second subset ofspring elements 150 coupled to the second subset of spacers 140described above may deflect inwardly below the plane of the chassisinterface 190, as shown in FIGS. 6 and 9, thereby reducing the maximumtensile and compressive forces across the first and second spacers 140in a nominal state in which no force is applied to the touch sensorsurface 116. (Additionally or alternatively, the first subset of springelements 150 may deflect outwardly to absorb a gap between the plane ofthe chassis interface 190 and the first subset of spacers 140 in orderto prevent separation of the force-sensitive material from drive andsense electrode pairs 130 in the first subset of pressure sensors in thenominal state, thereby enabling these pressure sensors to continue tooutput intelligible signals in the nominal state.)

Subsequently, when a force is applied to the touch sensor surface 116,the spring elements 150 may deflect downwardly, as shown in FIGS. 6 and9, thereby enabling the substrate 110 and touch sensor surface 116 tomove downwardly toward the chassis interface 190 while these springelements 150 apply a resistive force to these spacers 140, whichcompresses the force-sensitive material against corresponding drive andsense electrode pairs 130 and produces a measurable change in resistanceacross some of these pressure sensors.

Furthermore, a particular spring element 150 may reduce tension betweenthe a spacer 140 and the adjacent drive and sense electrode pairs 130 inthe corresponding pressure sensor and/or prevents separation between theforce-sensitive material and the drive and sense electrode pairs 130 inthis pressure sensor. Therefore, a linear increase in applied force onthe touch sensor surface 116 over the particular spring element 150 mayyield a linear change in resistance value at the pressure sensor (e.g.,linearly from a high resistance to a lower resistance).

In this variation, as planarity, parallelism, and/or thickness, etc. ofelements in the system 100 change as a function of temperature and aspositions of the spacers 140 change relative to the chassis due to thesetemperature-related changes, the spring elements 150 can absorb thesepositional changes of the spacers 140 relative to the chassis, therebymaintaining contact between the force-sensitive material andcorresponding drive and sense electrode pairs 130 in these pressuresensors over a range of ambient and operating conditions.

Therefore, the system 100 can include the chassis interface 190 with thearray of spring elements 150 configured to absorb positional differencesbetween spacers 140 and the chassis, thereby enabling the system 100 tomaintain a high dynamic range and high sensitivity, such as withloosened manufacturing tolerances and/or despite manufacturing defects.

2.5.2 Unitary Spring Elements and Chassis Interface Structure

In one implementation, the chassis interface 190 and spring elements 150define a unitary structure (e.g., a “spring plate 152”). In one example,the chassis interface 190 includes a thin-walled structure (e.g., astainless steel 20-gage, or 0.8-millimeter-thick sheet) that is punched,etched, or laser-cut to form a flexure aligned to each support location114. Thus, in this example, each spring element 150 can define aflexure—such as a multi-arm spiral flexure—configured to laterally andlongitudinally locate the system 100 over the chassis and configured todeflect inwardly and outwardly from a nominal plane defined by thethin-walled structure.

More specifically, in this example, the chassis interface 190 caninclude a unitary metallic sheet structure arranged between thesubstrate 110 and the chassis and defining a nominal plane. Each springelement 150: can be formed (e.g., fabricated) in the unitary metallicstructure; can define a stage 154 coupled to a spacer 140 opposite thebottom layer 112 of the substrate 110; can include a flexure fabricatedin the unitary metallic structure; and can be configured to return toapproximately the nominal plane in response to absence of a touch inputapplied to the touch sensor surface 116.

2.5.3 Spring Element Locations

In one implementation, the substrate 110 defines a rectangular geometrywith support locations 114 proximal the perimeter of this rectangulargeometry. Accordingly, the spacers 140 and the array of spring elements150 can cooperate to support the perimeter of the substrate 110 againstthe chassis of the computing device.

In this implementation, the substrate 110 and the cover layer—arrangedover the capacitive touch sensor 170—can cooperate to form a semi-rigidstructure that resists deflection between support locations 114. Forexample, with the perimeter of the substrate 110 supported by the arrayof spring elements 150, the substrate 110 and the cover layer canexhibit less than 0.3 millimeter of deflection out of a nominal planewhen a force of ˜1.6 Newtons (i.e., 165 grams, equal to an “click” inputforce threshold) is applied to the center of the touch sensor surface116. The substrate 110 and the cover layer can therefore cooperate tocommunicate this applied force to the perimeter of the substrate 110 andthus into the spacers 140 and spring elements 150 below.

In this implementation, inclusion of a spring element 150 supporting thecenter of the substrate 110 may produce: a relatively high ratio ofapplied force to vertical displacement of the substrate 110 near boththe center and the perimeter of the substrate 110; and a relatively lowratio of applied force to vertical displacement of the substrate 110 inan intermediate region around the center and inset from the perimeter ofthe substrate 110. Therefore, to avoid such non-linear changes in ratioof applied force to vertical displacement of the substrate 110—which maycause confusion or discomfort for a user interfacing with the system100—the system 100 can: include spring elements 150 that support theperimeter of the substrate 110; exclude spring elements 150 supportingthe substrate 110 proximal its center; and include a substrate 110 and acover layer that form a substantially rigid structure.

More specifically, the array of spring elements 150 can support theperimeter of the substrate 110, and the substrate 110 and the coverlayer can form a substantially rigid structure in order to achieve aratio of applied force to vertical displacement of the substrate 110that is approximately consistent or that changes linearly across thetotal area of the touch sensor surface 116.

2.5.4 Spring Force

Furthermore, in the foregoing implementation, the system 100 caninclude: a first subset of spring elements 150—characterized by a firstspring constant—coupled to a first subset of support locations 114proximal corners of the substrate 110; and a second subset of springelements 150—characterized by a second spring constant less than thefirst spring constant—coupled to a second subset of support locations114 proximal edges of the substrate 110.

In particular, in this implementation, the system 100 can includestiffer spring elements 150 that support corners of the substrate 110and weaker spring elements 150 that support the remaining edges of thesubstrate 110 in order to achieve a consistent ratio of applied force tovertical displacement of the substrate 110 along the total perimeter ofthe substrate 110—including between an edge and a corner of thesubstrate 110. More specifically, the substrate 110 and the cover layercan: communicate a force applied near the center of the touch sensorsurface 116 across all spring elements 150; communicate a force appliednear an edge of a touch sensor surface 116 (predominantly) into a subsetof spring elements 150 supporting this edge of the substrate 110; andcommunicate a force applied near a corner of the touch sensor surface116 (predominantly) into one spring element 150 supporting this cornerof the substrate 110. Therefore, spring elements 150 supporting cornersof the substrate 110 can exhibit greater spring constants (e.g., lessdisplacement per unit of applied force) than other spring elements 150supporting the edges of the substrate 110.

2.5.5 Individual Spring Elements

In another implementation, the system 100 includes a set of discretespring elements 150 arranged in (e.g., bonded to, press-fit into)individual spring receptacles in the chassis and coupled (e.g., bonded)to spacers 140 arranged across the bottom layer 112 of the substrate110.

2.5.6 Preloaded Spring Elements

In this variation, the substrate 110 and spacers 140 can also be biasedagainst the chassis interface 190 in order to preload the springelements 150 and maintain at least a minimum compressive force betweeneach spring element 150 and its corresponding pressure sensor, thereby:eliminating tension across each spring element 150 during operating;preventing separation of a spacer 140 from its corresponding electrodepair 130 on the substrate 110; ensuring that a bulk resistance of—andtherefore a compressive force across—each spacer 140 remains sensiblevia its corresponding electrode pair 130 on the substrate 110; andincreasing sensitivity of the system 100 to inputs of very small forcemagnitude (e.g., as low at one gram) on the touch sensor surface 116.

In one implementation shown in FIG. 9, the system 100 includes amembrane 198: applied over the top layer in of the substrate 110 (andover the array of drive electrodes and sense electrodes that form thecapacitive touch sensor 170); defining the touch sensor surface 116;extending outwardly from the perimeter of the substrate 110; bonded,clamped, or otherwise retained by the chassis receptacle near aperimeter of the substrate 110; and tensioned across the substrate 110to draw the substrate 110 downward, thereby compressing the array ofspring elements 150 between the chassis and the set of spacers 140 anddriving the set of spacers 140 into contact with their correspondingelectrode pairs 130 on the bottom layer 112 of the substrate 110.

For example, the membrane 198 can include a silicone or PTFE (e.g.,expanded PTFE) film bonded over the capacitive touch sensor 170 with anadhesive. Additionally or alternatively, the perimeter of the membrane198 can be retained by the chassis across a plane below the capacitivetouch sensor 170 such that tensioning the membrane 198 laterally withinthis plane imparts a downward force on the substrate 110 to drive thesubstrate 110 toward the chassis receptacle and thus compress the set ofspring elements 150.

Furthermore, the chassis can define a flange (or “shelf,” undercut)extending inwardly toward the lateral and longitudinal center of thereceptacle. The outer section of the membrane 198 that extends beyondthe substrate 110 can be inserted into the receptacle and brought intocontact with the underside of the flange. A circumferential retainingbracket can then be fastened to the chassis under the flange and (fully)above the perimeter of the receptacle in order to clamp the membrane 198between the chassis and the circumferential retaining bracket, therebysealing the membrane 198 about the receptacle and tensioning themembrane 198 across the substrate 110.

Therefore, in this implementation, the system 100 can include a membrane198: coupled to the chassis; and tensioned over the substrate 110 to a)preload compression of the set of spacers 140 between the substrate 110and the array of spring elements 150; and approximately locate the setof spring elements 150 in a nominal plate—such as approximately in-linewith the plane of the chassis interface 190—responsive to absence of atouch input on the touch sensor surface 116.

Additionally or alternatively, in one implementation, the membrane 198includes a convolution between the perimeters of the substrate 110 andthe receptacle. In this implementation, the convolution can beconfigured to deflect or deform in order to accommodate oscillation ofthe system 100 during a haptic feedback cycle, as described below. Forexample, the membrane 198 can include a polyimide film with asemi-circular ridge extending along a gap between the outer perimeter ofthe substrate 110 and the inner perimeter of the receptacle.

Furthermore, in this implementation, the system 100 can also include aglass or other cover layer bonded over the membrane 198 and extending upto a perimeter of the substrate 110.

2.6 Controller and Operation

In this variation of the system 100, the controller 180 is configuredto, during a scan cycle: read a set of resistance values—from the arrayof electrode pairs 130—representing compression of the set of spacers140 between the substrate 110 and the array of spring elements 150; andinterpret a distribution of forces applied to the touch sensor surface116 during this scan cycle based on the set of resistance values andforce models representing spring constants of the array of springelements 150.

In one example shown in FIG. 9, during a setup routine or during ongoingcalibration cycles in which no touch input is applied to the touchsensor surface 116, the controller 180 can read resistance values fromthe pressure sensors and store these resistance values as baselineresistances—corresponding to absence of a touch input on the touchsensor surface 116—for these pressure sensors. Later, when a userdepresses (e.g., with a stylus, a finger) a first region of the touchsensor surface 116 proximal a first spring element 150 at a first time,the first spring element 150 yields to this touch input. A first spacer140, in the array of electrode pairs 130, thus: compresses between thefirst spring element 150 and a first support location 114—in the arrayof support locations 114—on the bottom layer 112 of the substrate 110;and exhibits a decrease in local bulk resistance proportional to a forcemagnitude of the touch input. Accordingly, the controller 180: reads afirst resistance value from a first electrode pair 130—adjacent thefirst spacer 140—during a scan cycle spanning the first time; calculatesa first change in resistance value across the first electrode pair 130at the first time based on a difference between the first resistancevalue and a stored baseline resistance value for the first electrodepair 130; and interprets a portion of the force magnitude of the touchinput carried by the first spring element 150 based on (e.g.,proportional to) the first change in resistance value and a stored forcemodel that relates deviation from baseline resistance to force carriedby the first spring element 150 (e.g., based on a spring constant of thefirst spring element 150.

In this example, the controller 180 can implement this process for eachother discrete pressure sensor on the substrate 110 in order totransform changes in resistance values detected at each pressure sensorinto portions of the total force magnitude of the touch input carried byeach spring element 150 at the first time. The controller 180 can thensum these portions to calculate the total force magnitude of the touchinput during the first time. Additionally or alternatively, thecontroller 180 can fuse these portions of the force magnitude carried byeach pressure sensor, the known positions of the pressure sensors on thesubstrate 110, and locations of multiple concurrent, discrete inputsdetected on the touch sensor surface 116 via the capacitive touch sensor170 in order to estimate the force applied by each discrete input, suchas described below.

2.6.1 Negative Force

In one variation shown in FIG. 9, the controller 180 implements similarmethods and techniques to detect both increases and decreases in forcescarried by the discrete pressure sensors during a scan cycle based ondecreases and increases in resistance, respectively, detected acrossthese pressure sensors. More specifically, application of a force on thetouch sensor surface 116 near a first corner of the touch sensor surface116 may depress this first corner into the chassis but also cause asecond, opposite corner of the substrate 110 to lift, thereby increasingthe force carried by the first corner but reducing the force carried bythe second corner. Therefore, the controller 180 can: detect bothdecreases and increases in resistance at the first and second pressuresensors in the first and second corners of the substrate 110; transformthese resistances into positive and negative changes in force carried bythe first and second pressure sensors; and sum these positive andnegative changes in carried forces in order to calculate an accuratetotal force applied to the touch sensor surface 116 at this time.

For example and as described above, the system 100 can include amembrane 198 that preloads the array of spring elements 150 toward thechassis and that locates the spring elements 150 at a nominalplane—slightly below a top surface of the (thin sheetmetal) chassisinterface 190—when no touch input is applied to the touch sensor surface116. Thus, each spring element 150 can: yield below the nominal plane inresponse to application of force on the touch sensor surface 116proximal its corresponding support location 114; and yield above thenominal plane in response to application of force on the touch sensorsurface 116 remote from its corresponding support location 114 (e.g., atan opposite edge of the touch sensor surface 116).

During a scan cycle, the controller 180 can read a first set ofresistance values from a first subset of electrode pairs 130—in thearray of electrode pairs 130—proximal a touch input on the touch sensorsurface 116. Then, in response to the first set of resistance valuesdeviating in a first direction from (e.g., falling below) the baselineresistance values stored for the first subset of electrode pairs 130,the controller 180 can interpret a first set of above-baseline (or“elevated,” “positive”) compressive forces carried by a first subset ofspring elements 150 coupled to this first subset of electrode pairs 130.

Similarly, during this scan cycle, the controller 180 can: read a secondset of resistance values from a second subset of electrode pairs 130—inthe array of electrode pairs 130—remote from the touch input on thetouch sensor surface 116. Then, in response to the second set ofresistance values deviating in a second direction from (e.g., exceeding)the baseline resistance values stored for the second subset of electrodepairs 130, the controller 180 can interpret a second set ofbelow-baseline (or “reduced,” “negative”) compressive forces carried bya second subset of spring elements 150 coupled to this second subset ofelectrode pairs 130.

The controller 180 can then interpret the total force magnitude of thetouch input applied to the touch sensor surface 116 based on acombination of the first set of above-baseline compressive forces andthe second set of below-baseline compressive forces. For example, thecontroller 180 can interpret the total force magnitude of the touchinput applied to the touch sensor surface 116 during this scan cyclebased on: a sum of the first set of above-baseline compressive forces;less a sum of the second set of below-baseline compressive forces.

2.6.2 Capacitive Touch+Resistive Force

Furthermore, in the variation of the system 100 described above thatincludes an array of drive electrodes and sense electrodes that form acapacitive touch sensor 170 across the top layer in of the substrate110, the controller 180 can: read capacitance values from the capacitivetouch sensor 170 and resistance values from the set of pressure sensorsduring a scan cycle; and fuse these data into a location and forcemagnitude of a touch input on the touch sensor surface 116 during thisscan cycle.

For example and as shown in FIG. 9, during a scan cycle, the controller180 can: read a set of capacitance values (e.g., change in capacitancecharge times, discharge times, or RC-circuit resonant frequencies)between drive electrodes and sense electrodes in the capacitive touchsensor 170; read a set of resistance values across electrode pairs 130in the array of electrode pairs 130; detect a lateral position and alongitudinal position of a touch input on the touch sensor surface 116based on the set of capacitance values (e.g., based on changes incapacitance values between drive electrodes and sense electrodes atknown lateral and longitudinal positions across the top layer 111 of thesubstrate 110); interpret a force magnitude of the touch input based onthe set of resistance values, as described above; and output the lateralposition, the longitudinal position, and the force magnitude of thetouch input, such as in the form of a force-annotated touch image.

Therefore, in this example, if the controller 180 detects a single touchinput on the touch sensor surface 116 during this scan cycle based onthe set of capacitance values, the controller 180 can attribute theentire applied force to this singular touch input. Accordingly, thecontroller 180 can: implement methods and techniques described above tocalculate individual forces carried by each spring element 150 based onresistance values read from the adjacent electrode pairs 130, storedbaseline resistance values for these electrode pairs 130, and storedforce models for these springs elements; sum these individual forces tocalculate a total force applied to the touch sensor surface 116 duringthis scan cycle; and label the location of the touch input—derived fromthe set of capacitance values—with this total force.

2.6.3 Multi-Touch

However, in this variation, if the controller 180 detects multiple touchinputs on the touch sensor surface 116 during a scan cycle based on aset of capacitance values read from the capacitive touch sensor 170, thecontroller 180 can fuse locations of discrete touch inputs derived fromthese capacitance values with force magnitudes carried by the springelements 150 to estimate (e.g., disambiguate) force magnitude of theseindividual touch inputs.

In one implementation shown in FIG. 10, during a scan cycle, thecontroller 180: reads a set of capacitance values between driveelectrodes and sense electrodes in the capacitive touch sensor 170;reads a set of resistance values of electrode pairs 130 in the array ofelectrode pairs 130; detects a first lateral position and a firstlongitudinal position of a first touch input on the touch sensor surface116 (e.g., a centroid of a first area on the touch sensor surface 116identified as a first input) based on the set of capacitance values; andsimilarly detects a second lateral position and a second longitudinalposition of a second touch input on the touch sensor surface 116 (e.g.,a centroid of a second area on the touch sensor surface 116 identifiedas a second input) based on the set of capacitance values. For example,the controller 180 can implement blob detection, clustering or othertouch interpretation techniques to distinguish the first and secondinputs on the touch sensor surface 116, such as by isolating a) a firstcluster of drive electrodes and sense electrodes exhibiting changes incapacitance values responsive to the first input from b) a secondcluster of drive electrodes and sense electrodes exhibiting changes incapacitance values responsive to the second input.

In this example, the controller 180 can also implement methods andtechniques described above to interpret a set of individual forcemagnitudes carried by each spring element 150 based on the set ofresistance values, stored baseline resistance values of thecorresponding electrode pairs 130, and stored spring element 150 modelsfor the corresponding spring elements 150. Then, for each pressuresensor, the controller 180 can: calculate a first distance from thefirst touch input to the spring element 150 based on the first lateralposition and the first longitudinal position of the first touch input;calculate a second distance from the second touch input to the springelement 150 based on the second lateral position and the secondlongitudinal position of the second touch input; estimate a firstproportion of the individual force magnitude—carried by the springelement 150—that was applied by the first touch input based on a firstratio of the first distance to a combination (e.g., a sum) of the firstdistance and the second distance; and estimate a second proportion ofthe individual force magnitude that was applied by the second touchinput based on a second ratio of the second distance to the combination(e.g., a sum) of the first distance and the second distance.

The controller 180 can then estimate a first total force magnitudeapplied by the first touch input based on a first combination (e.g., asum) of force magnitudes carried by the array of springs, weighted byfirst proportions thus derived from the distances from these springelements 150 to the first input. Similarly, the controller 180 canestimate a second total force magnitude applied by the second touchinput based on a second combination (e.g., a sum) of force magnitudescarried by the array of springs, weighted by second proportions thusderived from the distances from these spring elements 150 to the secondinput.

Therefore, in this example, the controller 180 can estimate proportionsof forces—carried by multiple springs elements—that proceed frommultiple discrete touch inputs on the touch sensor surface 116 based ondistances between these spring elements 150 and these discrete touchinputs. Additionally or alternatively, the controller 180 can estimateproportions of forces—carried by multiple spring elements 150—thatproceed from multiple discrete touch inputs on the touch sensor surface116 based on (e.g., proportional to) the sizes (e.g., areas, minimumwidths) of these discrete touch inputs.

2.7 Haptic Feedback Module

In one variation shown in FIG. 5, the chassis interface 190 (or aseparate spring plate 152 that locates the array of spring elements 150)defines a magnetic element receptacle 192 inset from the array of springelements 150. In this variation, the system 100 can further include amagnetic element 194 (e.g., a Halbach array, a group of permanentmagnets) arranged in (e.g., bonded to, potted within) the magneticelement receptacle 192. Furthermore, in this variation, the substrate110 can include a conductive coil arranged over and configured tomagnetically couple to the magnetic element 194 to form a vibrator. Forexample, the conductive coil can include a discrete air core wireinductor mounted (e.g., bonded, soldered) to the bottom layer 112 of thesubstrate 110. In another example, the substrate 110 includes multiplecoaxial conductive spiral traces fabricated over multiple layers of thesubstrate 110 to form an integral fiberglass-core wire-trace inductorwithin the substrate 110.

Alternatively, the system 100 can include a discrete electromechanicalvibrator mounted to the substrate 110 and selectively powered by thecontroller 180.

During operation, the controller 180 can drive the conductive coil orthe electromechanical vibrator with an alternating current, therebyinducing an oscillating force between the conductive coil and themagnetic element 194, which oscillates the substrate 110 over thechassis and the chassis interface 190 and thus provides tactile (or“haptic”) feedback to a user interfacing with the touch sensor surface116 with a finger or stylus. For example, the controller 180 can drivethe conductive coil with an alternating current during a click cycle inresponse to detecting application of a force in excess of a “click”input force threshold (e.g., 1.6 Newtons, 165 grams), as described aboveand below.

More specifically, during a scan cycle, the controller 180 can: read aset of resistance values from the array of electrode pairs 130;interpret a force magnitude of an input applied to the touch sensorsurface 116 based on this set of resistance values; and drive analternating current through the conductive coil to magnetically couplethe conductive coil to the magnetic element 194 in response to the forcemagnitude of the input exceeding a threshold force magnitude (e.g., 1.6Newtons, 165 grams). Accordingly, the array of spring elements 150 canyield to magnetic coupling between the conductive coil and the magneticelement 194 to enable the substrate 110 and the touch sensor surface 116to oscillate relative to the chassis.

2.8.1 Substrate Motion

In one implementation, the vibrator can be configured to vibrate thesubstrate 110—relative to the chassis—in a vibration plane parallel tothe touch sensor surface 116 and along a primary vibration axis (e.g.,parallel to a short side of the touch sensor surface 116). Accordingly,each spring element 150 can be configured to preferentially deflectalong the primary vibration axis and to resist deflection perpendicularto the primary vibration axis in response to a force in the vibrationplane (e.g., response to actuation of the vibrator).

In one example, the conductive coil defines an inductor axis normal tothe touch sensor surface 116; and the magnetic element 194 is arrangedin the magnetic element receptacle 192 with a polar axis of the magneticelement 194 perpendicular to the inductor axis such that excitation ofthe conductive coil induces an oscillating force—between the conductivecoil and the magnetic element 194—parallel to the touch sensor surface116. In this example, each spring element 150 can include: a first setof flexure beams of a first length, of a first width, extending withinthe vibration plane, and extending perpendicular to the primaryvibration axis; a second set of flexure beams of a second length lessthan the first length, of a second width greater than the first width,extending within the vibration plane, and/or extending parallel to theprimary vibration axis; and a stage 154 (e.g., a “spacer 140 seat”)suspended from a base of the chassis interface 190 via the first andsecond sets of flexure beams, as shown in FIGS. 8A-8C. Thus, in thisexample, the chassis interface 190 can be rigidly coupled to thechassis, and the set of spring elements 150 may exhibit less resistanceto vibration along the primary vibration axis and may preferentiallymaintain the position of the system 100 orthogonal to the primaryvibration axis while accommodating depression of the system 100 downwardtoward the chassis receptacle.

Alternatively, each spring element 150 can include a set of nestedcurvilinear beams that locate the spacer 140 seat relative to the baseof the chassis interface 190 and that exhibit similar resistance tomotion of the system 100 parallel and orthogonal to the primaryvibration axis responsive to a force in the vibration plane, such asshown in FIGS. 8D-8F. In this implementation: the magnetic element 194of the integrated vibrator can be arranged in the chassis receptacle;the chassis interface 190 can be elastically coupled to the chassis,such as via a set of rubber grommets, and can include a window over themagnetic element 194; and the coil can magnetically couple to themagnetic element 194—through the window—when activated to vibrate thesystem 100, including the chassis interface 190 and the touch sensorsurface 116, along the primary vibration axis.

In another implementation, the conductive coil defines an inductor axisnormal to the touch sensor surface 116; and the magnetic element 194 isarranged in the magnetic element receptacle 192 with the polar axis ofthe magnetic element 194 parallel to the inductor axis such thatexcitation of the conductive coil induces an oscillating force—betweenthe conductive coil and the magnetic element 194—perpendicular to thetouch sensor surface 116. In this implementation, the array of springelements 150 can be configured to yield in a direction normal to thetouch sensor surface 116 to enable the substrate 110 and the touchsensor surface 116 to oscillate vertically within the chassis. Forexample, in this implementation, each spring element 150 can include aspiral flexure supporting a stage 154 coupled (e.g., bonded) to a spacer140 on the bottom layer 112 of the substrate 110.

Therefore, rather than rigid or low-compliancy coupling between thechassis and the array of spacers 140, the system 100 can include anarray of spring elements 150 that yield to (e.g., elastically deform inresponse to) actuation of the vibrator during a click cycle, therebylimiting damping of vibration of the touch sensor surface 116 andenabling the system 100 to return perceptible haptic feedback to a uservia a relatively small, low-voltage, and low-power vibrator.

Furthermore, in the variation of the system 100 that includes anintegrated vibrator with a coil integrated into the substrate 110 and aseparate magnetic element 194: the magnetic element 194 can be arrangedin the chassis receptacle; the chassis interface 190 can include awindow over the magnetic element 194, as shown in FIG. 7; and the coilcan magnetically couple to the magnetic element 194—through thewindow—when activated to vibrate the system 100 along the primaryvibration axis with the spring elements 150 elastically deforming alongthe primary vibration axis. Alternatively: the magnetic element 194 canbe coupled directly to the chassis interface 190; and the coil canmagnetically couple to the magnetic element 194 when activated tovibrate the system 100 along the primary vibration axis.

2.8 High-/Low-Resolution Regions

In one variation shown in FIG. 11, the system 100 defines: a primaryinput region 118 supported by a set of pressure sensors and containingthe capacitive touch sensor 170; and a secondary input region 119supported by the set of pressure sensors but excluding a capacitivetouch sensor 170.

2.8.1 Perimeter Pressure Sensors

In one implementation in which the system 100 is configured forinstallation as a touchpad arranged along a bottom edge of a keyboard ina laptop computer: the substrate 110 can approximately span the width ofthe keyboard; the capacitive touch sensor 170 can be approximatelycentered laterally over the substrate 110 to form the primary inputregion 118; and regions of the substrate 110 flanking the primary inputregion 118 can exclude capacitive touch sensors 170 and thus form twosecondary input regions 119. In this implementation, the system 100 caninclude support regions, spacers 140, electrode pairs 130, and springelements 150 arranged about the perimeter of the substrate 110 and thatcooperate to support the entire substrate 110 on a chassis of the laptopcomputer. Thus, in this implementation, the substrate 110, the primaryinput region 118, and the secondary input regions 119 can “float” overthe chassis and can be depressed toward the chassis, thereby: locallycompressing (a subset of) spring elements 150; compressing (a subset of)spacers 140; decreasing resistance values across (a subset of) electrodepairs 130; and enabling the controller 180 to calculate both the totalforce applied across the primary and secondary regions and estimateforce magnitudes of individual inputs applied across the primary andsecondary regions.

2.8.2 Inset Pressure Sensors

In a similar implementation shown in FIG. 11, the system 100 includessupport regions, spacers 140, electrode pairs 130, and spring elements150 arranged: along the bottom edge of the primary input region 118;along the top edge of the primary input region 118; within the leftsecondary input region 119 inset from the left edge of the substrate110; and within the right secondary input region 119 inset from theright edge of the substrate 110. Thus, in this implementation, thespring elements 150 can preferentially support the primary input region118, and the controller 180 can preferentially interpret forces appliedto the primary input region 118 based on changes in resistance acrossthese electrode pairs 130. However, because the system 100 includespressure sensors arranged under the secondary input regions 119, thecontroller 180 can also detect forces applied to the secondary inputregions 119 based on changes in resistance values within these pressuresensors, such as a user's palms resting on the secondary input regions119 while typing on the adjacent keyboard or while drawing a finger orstylus across the primary input region 118. However, in thisimplementation, because the system 100 excludes a capacitive touchsensor 170 over the secondary input regions 119, the controller 180 can:detect and track locations and force magnitudes of inputs over theprimary input region 118; but detect force magnitudes only of inputsover the secondary input regions 119.

For example, the system 100 can include: a first subset of electrodepairs 130 occupying a first subset of support locations 114 within thefirst region of the substrate 110 (i.e., the primary input region 118);a second subset of electrode pairs 130 occupying a second subset ofsupport locations 114 within the second region of the substrate 110(i.e., the secondary input region 119); and an array of drive electrodesand sense electrodes—that form a capacitance touch sensor—are arrangedover the first region of the substrate 110. In this example, the system100 can also include: a first subset of spring elements 150 coupled tothe first subset of support locations 114; and a second subset of springelements 150 coupled to the second subset of support locations 114.Thus, during a scan cycle, the controller 180 can: read a subset ofresistance values from the second subset of electrode pairs 130; anddetect a palm in contact with the touch sensor surface 116 over thesecond region of the substrate 110 based on the subset of resistancevalues. More specifically, in this example, if the controller 180detects absence of an input within the primary input region 118 via thecapacitive touch sensor 170 but detects forces carried by the secondsubset of spring elements 150 based on changes in resistance valuesacross the second subset of electrode pairs 130, the controller 180 canidentify an input (e.g., a palm)—on the secondary input region 119—witha force magnitude equal to the sum of the forces carried by the springelements 150.

Conversely, in this example, the controller 180 can detect: an inputwithin the primary input region 118 via the capacitive touch sensor 170;forces carried by the first subset of spring elements 150 based onchanges in resistance values across the first subset of electrode pairs130; and forces carried by the second subset of spring elements 150based on changes in resistance values across the second subset ofelectrode pairs 130. Accordingly, the controller 180 can: detect a firstinput (e.g., a finger, a stylus) on the primary input region 118; detecta second input (e.g., a finger, a stylus) on the secondary input region119; interpret a first proportion of a force carried by a spring element150 due to the first input based on a ratio of a first distance fromsupport location 114 to the first input to a second distance fromsupport location 114 to the center of the secondary input region 119;interpret a second proportion of a force carried by a spring element 150due to the second input based on a ratio of a second distance fromsupport location 114 to the center of the secondary input region 119 toa first distance from support location 114 to the first input; sum thefirst proportions to estimate the force magnitude of the first input onthe primary input region 118; and sum the second proportions to estimatethe force magnitude of the second input on the primary input region 118.

Then, in this example, the controller 180 (or the laptop computer) canactivate (e.g., power, wake) the keyboard in response to detecting apalm on either secondary input region 119. Alternatively, the controller180 can sample the keyboard at a lower sampling rate in response todetecting absence of a force applied to either secondary input region119, which may indicate that no palm is present on the secondary inputregion 119 and that a user is not attempting to type on the keyboard;and vice versa.

In a similar implementation, the system 100 includes: a first,higher-resolution capacitive touch sensor 170 (e.g., a capacitive touchsensor 170 containing a first density of drive and second electrodes)arranged over the primary input region 118; and two lower-resolutioncapacitive touch sensors 170 (e.g., a capacitive touch sensor 170containing a second density of drive and second electrodes less than thefirst density) arranged over the secondary input regions 119. In thisimplementation, the system 100 can also include: rows of pressuresensors and spring elements 150 supporting the top and bottom edges ofthe substrate 110 along the primary input region 118; and columns ofpressure sensors and spring elements 150 supporting the secondary inputregion 119, such as near the junctions between the primary and secondaryinput regions 119 or proximal the centers of the secondary input regions119. Thus, in this implementation, the controller 180 can: detect alocation of a first input over the primary input region 118 with highresolution; detect a location of a second input over the secondary inputregion 119 with lower resolution; interpret forces carried by eachspring element 150—supporting a known region of the substrate 110—basedon changes in resistance values of the adjacent electrode pairs 130;implement methods and techniques similar to those described above toestimate portions of these forces applied by the first and secondinputs; and then estimate the total force magnitudes of these inputs.

3. Force by Capacitance

Another variation of the system 100 shown in FIG. 12 includes: asubstrate 110 including a top layer 111, a bottom layer 112, an array ofcapacitance sensors 120 arranged on the bottom layer 112, and an arrayof support locations 114 arranged on the bottom layer 112 adjacent thearray of capacitance sensors 120; a touch sensor surface 116 arrangedover the top layer in of the substrate 110; an array of spring elements150 configured to couple the substrate 110 to a chassis and to yield todisplacement of the substrate 110 downward toward the chassis responsiveto forces applied to the touch sensor surface 116, each spring element150 in the array of spring elements 150 coupled to the substrate 110 ata support location 114 in the array of support locations 14; a couplingplate 160 configured to couple to the chassis adjacent the array ofspring elements 150 and effect capacitance values of the array ofcapacitance sensors 120 responsive to displacement of the substrate 110toward the coupling plate 160; and a controller 180 configured to readcapacitance values from the array of capacitance sensors 120 andinterpret force magnitudes of inputs applied to the touch sensor surface116 based on capacitance values read from the array of capacitancesensors 120.

A similar variation of the system 100 shown in FIG. 14 includes: asubstrate 110 including a top layer 111, a bottom layer 112, an array ofcapacitance sensors 120 arranged on the bottom layer 112, and an arrayof support locations 114 arranged on the bottom layer 112 adjacent thearray of capacitance sensors 120; an array of drive electrodes and senseelectrodes arranged on the top layer in of the substrate 110; a touchsensor surface 116 arranged over the array of drive electrodes and senseelectrodes; an array of spring elements 150 configured to couple thesubstrate 110 to a chassis and to yield to displacement of the substrate110 downward toward the chassis responsive to forces applied to thetouch sensor surface 116, each spring element 150 in the array of springelements 150 coupled to the substrate 110 at a support location 114 inthe array of support locations 14; and a coupling plate 160 configuredto couple to the chassis adjacent the array of spring elements 150 andeffect capacitance values of the array of capacitance sensors 120responsive to displacement of the substrate 110 toward the couplingplate 160. This variation of the system 100 further includes acontroller 180 configured to, during a scan cycle: read a first set ofcapacitance values between drive electrodes and sense electrodes in thecapacitive touch sensor 170; read a second set of capacitance values ofcapacitance sensors 120 in the array of capacitance sensors 120; detecta lateral position and a longitudinal position of a touch input on thetouch sensor surface 116 based on the first set of capacitance values;interpret a force magnitude of the touch input based on the second setof capacitance values; and output the lateral position, the longitudinalposition, and the force magnitude of the touch input.

3.1 Applications

Generally, in this variation, the system 100 includes: a coupling plate160 mounted to the chassis of the computing device, facing and offsetfrom the bottom layer 112 of the substrate 110, and extending near thearray of spring elements 150; and an array of capacitance sensors 120arranged across the bottom layer 112 of the substrate 110, configured tocapacitively couple to the coupling plate 160, and thereby exhibitingchanges in capacitance value (e.g., charge times, discharge times, orRC-circuit resonant frequencies) as a function of their distances fromthe coupling plate 160.

In this variation, the set of spring elements 150: vertically supportsthe substrate 110—proximal the array of capacitance sensors 120—againstthe chassis; and yields to a force applied to the touch sensor surface116, thereby enabling nearby capacitance sensors 120 to move toward thecoupling plate 160, which changes the capacitance values of thesecapacitance sensors 120 proportional to changes in distance betweenthese capacitance sensors 120 and the coupling plate 160. The controller180 can thus: calculate a change in distance between a capacitancesensor 120 and the coupling plate 160 based on a change in capacitancevalue of this capacitance sensor 120 from its stored baselinecapacitance value; and calculate a force carried by the adjacent springelement 150 based on a stored spring constant of the spring element 150.The controller 180 can then implement methods and techniques describedabove: to calculate a total force applied to the touch sensor surface116 based on forces carried by each spring element 150; and/or to fuseforces carried by each spring element 150 with input locations detectedvia the capacitive touch sensor 170 to estimate the force applied byindividual touch inputs on the touch sensor surface 116.

3.2 Substrate

As described above, in this variation, the substrate 110 can include afiberglass PCB including: a top layer 111; and a bottom layer 112 thatdefines an array of support locations 114. The substrate 110 furtherincludes an array of capacitance sensors 120 arranged across the bottomlayer 112 and adjacent (e.g., encircling, abutting) the supportlocations 114.

3.2.1 Mutual-Capacitance Sensors

In one implementation shown in FIG. 13A, the capacitance sensors 120 arearranged in a mutual-capacitance configuration adjacent each supportlocation 114.

For example, each capacitance sensor 120 can include: a drive electrodearranged on the bottom layer 112 of the substrate 110 adjacent a firstside of a support location 114; and a sense electrode arranged on thebottom layer 112 of the substrate 110 adjacent a second side of thesupport location 114 opposite the drive electrode. In this example, thedrive electrodes and sense electrodes within a capacitance sensor 120can capacitively couple, and an air gap between the substrate 110 andthe coupling plate 160 can form an air dielectric between the driveelectrodes and sense electrodes. When the touch sensor surface 116 isdepressed over a capacitance sensor 120, the adjacent spring element 150can yield, thereby moving the drive electrodes and sense electrodes ofthe capacitance sensor 120 closer to the coupling plate 160 and reducingthe air gap between these drive electrodes and sense electrodes. Becausethe coupling plate 160 exhibits a dielectric greater than air, thereduced distance between the coupling plate 160 and the substrate 110thus increases the effective dielectric between the drive electrodes andsense electrodes and thus increases the capacitance of the driveelectrodes and sense electrodes. The capacitance value of thecapacitance sensor 120 may therefore deviate from a baseline capacitancevalue—such as in the form of an increase in the charge time of thecapacitance sensor 120, an increase in the discharge time of thecapacitance sensor 120, or a decrease in the resonant frequency of thecapacitance sensor 120—when the touch sensor surface 116 is depressedover the capacitance sensor 120.

Therefore, in this implementation, the controller 180 can, during a scancycle: drive the coupling plate 160 to a reference (e.g., ground)potential; (serially) drive each drive electrode in the capacitancesensors 120, such as a target voltage, over a target time interval, orwith an alternating voltage of a particular frequency; read a set ofcapacitance values—from the sense electrodes in the array of capacitancesensors 120—that represent measures of mutual capacitances between driveelectrodes and sense electrodes of these capacitance sensors 120; andinterpret a distribution of forces applied to the touch sensor surface116 based on this set of capacitance values and known spring constantsof the array of spring elements 150, as described below.

3.2.2 Self-Capacitance Sensors

In another implementation shown in FIG. 13B, the capacitance sensors 120are arranged in a self-capacitance configuration adjacent each supportlocation 114.

For example, each capacitance sensor 120 can include a single electrodearranged on the bottom layer 112 of the substrate 110 adjacent (e.g.,encircling) a support location 114, and the coupling plate 160 canfunction as a common second electrode for each capacitance sensor 120.In this example, the single electrode within a capacitance sensor 120and the coupling plate 160 can capacitively couple, and an air gapbetween the substrate 110 and the coupling plate 160 can form an airdielectric between the capacitance sensor 120 and the coupling plate160. When the touch sensor surface 116 is depressed over the capacitancesensor 120, the adjacent spring element 150 can yield, thereby: movingthe capacitance sensor 120 closer to the coupling plate 160; reducingthe air gap between the capacitance sensor 120 and the coupling plate160; and increasing the capacitance between the capacitance sensor 120and the coupling plate 160. The capacitance value of the capacitancesensor 120 may therefore deviate from a baseline capacitance value—suchas in the form of an increase in the charge time of the capacitancesensor 120, an increase in the discharge time of the capacitance sensor120, or a decrease in the resonant frequency of the capacitance sensor120—when the touch sensor surface 116 is depressed over the capacitancesensor 120.

Therefore, in this implementation, the controller 180 can, during a scancycle: drive the coupling plate 160 to a reference (e.g., ground)potential; (serially) drive each capacitance sensor 120, such as atarget voltage, over a target time interval, or with an alternatingvoltage of a particular frequency; read a set of capacitance values—fromthe array of capacitance sensors 120—that represent measures of selfcapacitances between the capacitance sensors 120 and the coupling plate160; and interpret a distribution of forces applied to the touch sensorsurface 116 based on this set of capacitance values and known springconstants of the array of spring elements 150, as described below.

3.3 Capacitive Touch Sensor

As described above, in this variation, the system 100 can furtherinclude a capacitive touch sensor 170 arranged across the top layer inof the substrate 110. In one implementation, the capacitive touch sensor170 includes: array of drive electrodes and sense electrodes arranged onthe top layer in of the substrate 110; and a cover layer (e.g., a glassfilm) arranged over the substrate 110 to enclose the array of driveelectrodes and sense electrodes and to form the touch sensor surface 116(e.g., a “tactile surface”) over the substrate 110.

In this implementation, the system 100 can include: a first quantity ofcapacitance sensors 120 that form a first quantity of pressure sensorsacross the bottom layer 112 of the substrate 110; and a second quantityof drive electrodes and sense electrodes that form a second quantity ofpixels—at least two orders of magnitude greater than the firstquantity—in the capacitive touch sensor 170, such as described above.

3.4 Spring Elements

In this variation, the system 100 further includes an array of springelements 150: coupled (e.g., bonded, riveted, soldered) to the substrate110 at the array of support locations 14; configured to support thesubstrate 110 on a chassis of a computing device; and configured toyield to displacement of the substrate 110 downward toward the chassisresponsive to forces applied to the touch sensor surface 116.

3.4.1 Unitary Spring Elements and Chassis Interface Structure

In one implementation shown in FIG. 12, the system 100 includes a springplate 152 that: includes a unitary structure that spans the bottom layer112 of the substrate 110; and defines the array of spring elements 150aligned to the support locations 114 on the substrate 110. In oneexample, similar to the chassis interface 190 described above, thespring plate 152 includes a thin-walled structure (e.g., a 20-gage, or0.8-millimeter-thick stainless steel sheet) that is punched, etched, orlaser-cut to form a flexure aligned to each support location 114. Thus,in this example, each spring element 150 can define a flexure—such as amulti-arm spiral flexure—configured to laterally and longitudinallylocate the system 100 over the chassis and configured to deflectinwardly and outwardly from a nominal plane defined by the thin-walledplate.

More specifically, in this example, the spring plate 152 can include aunitary metallic sheet structure arranged between the substrate 110 andthe chassis and defining a nominal plane. Each spring element 150: canbe formed (e.g., fabricated) in the unitary metallic structure; candefine a stage 154 coupled to a spacer 140 opposite the bottom layer 112of the substrate 110; can include a flexure fabricated in the unitarymetallic structure; and can be configured to return to approximate thenominal plane in response to absence of a touch input applied to thetouch sensor surface 116.

3.4.2 Spring Element Locations

In one implementation, the substrate 110 defines a rectangular geometrywith support locations 114 proximal the perimeter of this rectangulargeometry. Accordingly, the array of spring elements 150 can cooperate tosupport the perimeter of the substrate 110 against the chassis of thecomputing device.

In this implementation, the substrate 110 and the cover layer—arrangedover the capacitive touch sensor 170—can cooperate to form a semi-rigidstructure that resists deflection between support locations 114. Forexample, with the perimeter of the substrate 110 supported by the arrayof spring elements 150, the substrate 110 and the cover layer canexhibit less than 0.3 millimeter of deflection out of a nominal planewhen a force of ˜1.6 Newtons (i.e., 165 grams, equal to an “click” inputforce threshold) is applied to the center of the touch sensor surface116. The substrate 110 and the cover layer can therefore cooperate tocommunicate this applied force to the perimeter of the substrate 110 andthus into spring elements 150 below. As described above, the array ofspring elements 150 can support the perimeter of the substrate 110, andthe substrate 110 and the cover layer can form a substantially rigidstructure in order to achieve a ratio of applied force to verticaldisplacement of the substrate 110 that is approximately consistent orthat changes linearly across the total area of the touch sensor surface116.

3.4.3 Spring Force

Furthermore, in the foregoing implementation, the system 100 caninclude: a first subset of spring elements 150—characterized by a firstspring constant—coupled to a first subset of support locations 114proximal corners of the substrate 110; and a second subset of springelements 150—characterized by a second spring constant less than thefirst spring constant—coupled to a second subset of support locations114 proximal edges of the substrate 110, as described above.

3.4.5 Individual Spring Elements

In another implementation, the system 100 includes a set of discretespring elements 150 arranged in (e.g., bonded to, press-fit into)individual spring receptacles in the chassis and coupled (e.g., bonded)to the bottom layer 112 of the substrate 110 across the array of supportlocations 114.

3.4.6 Preloaded Spring Elements

As described above, the substrate 110 can also be biased against thespring plate 152 in order to: preload the spring elements 150; achieve atarget nominal air gap between the capacitance sensors 120 and thecoupling plate 160; achieve baseline capacitance values that fall withinsensible ranges for each capacitance sensor 120; and thus enable thecontroller 180 to detect each capacitance sensor 120 moving both towardand away from the coupling plate 160 based on changes in itscapacitance, such as responsive to a force applied to the touch sensorsurface 116 over a capacitance sensor 120 and in response to a forceapplied to the touch sensor surface 116 remote from the capacitancesensor 120, respectively, as described below.

3.5 Coupling Plate

The coupling plate 160 is configured to: couple to the chassis adjacentthe array of spring elements 150; and effect capacitance values of thearray of capacitance sensors 120 responsive to displacement of thesubstrate 110 toward the coupling plate 160.

3.5.1 Separate Coupling Plate Between Spring Plate and Substrate

In one implementation shown in FIG. 12, the coupling plate 160 defines adiscrete structure interposed between the spring plate 152 and thesubstrate 110 and rigidly mounted to the chassis of the computingdevice.

Generally, in this implementation, the coupling plate 160: can beinterposed between the array of spring elements 150 and the substrate110; can include an array of perforations 164 aligned (e.g., coaxial)with the array of support locations 114 and the array of spring elements150 and defining geometries similar to (and slightly larger than) thestages 154 on the spring elements 150; and define an array of capacitivecoupling regions 162 adjacent (e.g., encircling) the array ofperforations 164. For example, the coupling plate 160 can include athin-walled structure (e.g., a stainless steel 20-gage, or0.8-millimeter-thick sheet) that is punched, etched, or laser-cut toform the array of perforations 164. In this implementation, eachcapacitance sensor 120 (e.g., drive electrodes and sense electrodes inthe mutual capacitance configuration, a single electrode in the selfcapacitance configuration) can extend around a support location 114 onthe bottom layer 112 of the substrate 110, such as up to a perimeter ofthe adjacent perforation 164 in the coupling plate 160 such that thecapacitance sensor 120 (predominantly) capacitively couples to theadjacent capacitive coupling region 162 on the coupling plate 160 ratherthan the adjacent spring element 150.

Furthermore, in this implementation, the system 100 can further includea set of spacers 140, each of which: extends through a perforation 164in the coupling plate 160; is (slightly) undersized for the perforation164; and couples an adjacent support location 114 on the bottom layer112 of the substrate 110 to an adjacent spring element 150 in the springplate 152. For example, each spacer 140 can include a silicone couponbonded (e.g., with a pressure-sensitive adhesive) to the stage 154 of anadjacent spring element 150 on one side and to the adjacent supportlocation 114 on the substrate 110 on the opposing side.

Therefore, in this implementation, each capacitance sensor 120 can:capacitively couple to an adjacent capacitive coupling region 162 of thecoupling plate 160; and move toward the adjacent capacitive couplingregion 162 on the coupling plate 160 in response to application of aforce on the touch sensor surface 116 proximal the capacitance sensor120, which yields a change in the capacitance value of the capacitancesensor 120 representative of the portion of the force of this inputcarried the adjacent spring element 150. More specifically, because thecoupling plate 160 is rigid and mechanically isolated from the substrate110 and the spring elements 150, the capacitive coupling regions 162 ofthe coupling plate 160 can remain at consistent positions offset abovethe chassis receptacle such that application of a force to the touchsensor surface 116 compresses all or a subset of the spring elements150, moves all or a subset of the capacitance sensors 120 closer totheir corresponding capacitive coupling regions 162, and repeatablychanges the capacitance values of these capacitance sensors 120 as afunction of (e.g., proportional to) the force magnitudes carried by thespring elements 150, which the controller 180 can then interpret toaccurately estimate these force magnitudes, the total force applied tothe touch sensor surface 116, and/or force magnitudes of individualtouch inputs applied to the touch sensor surface 116.

Furthermore, in this implementation, the spacer 140 can define a heightapproximating (or slightly greater than) a height of the maximumvertical compression of the adjacent spring element 150 corresponding toa target dynamic range of the adjacent capacitance sensor 120. Forexample, for a target dynamic range of 2 Newtons (e.g., 200 grams) for apressure sensor given a maximum of one millimeter of verticaldisplacement of the touch sensor surface 116—and therefore a maximum ofone millimeter of compression of the adjacent spring element 150—thespring element 150 can be tuned for a spring constant of 2000 Newtonsper meter. Furthermore, the spacer 140 can be of a height ofapproximately one millimeter, plus the thickness of the coupling plate160 and/or a stack tolerance (e.g., 10%, of 0.1 millimeter).

In this implementation, the coupling plate 160 and the spring plate 152can be fastened directly to the chassis of the computing device.Alternatively, the coupling plate 160 and the spring plate 152 can bemounted (e.g., fastened, riveted, welded, crimped) to a separate chassisinterface 190 that is then fastened or otherwise mounted to the chassis.The system 100 can also include a non-conductive buffer layer 166arranged between the spring plate 152 and the coupling plate 160, asshown in FIG. 12, in order to electrically isolate the spring plate 152from the coupling plate 160.

3.5.2 Integral Coupling Plate and Spring Plate

In another implementation, the coupling plate 160 and the spring plate152 define a single unitary (e.g., metallic) structure arranged betweenthe substrate 110 and the chassis.

Generally, in this implementation, the unitary metallic structure candefine: a nominal plane between the chassis receptacle and the substrate110; and an array of capacitive coupling regions 162 adjacent (e.g.,aligned to, coaxial with) the array of support locations 114 on thesubstrate 110. In this implementation, each spring element 150: can beformed in the unitary metallic structure (e.g., by etching, lasercutting); can extend from its adjacent capacitive coupling region 162;can define a stage 154 coupled to the corresponding support location 114on the bottom layer 112 of the substrate 110 (e.g., via a spacer 140 asdescribed above); and can be configured to return to approximately thenominal plane in response to absence of a touch input applied to thetouch sensor surface 116.

When the unitary structure is rigidly mounted to the chassis of thecomputing device, the unitary structure can thus rigidly locate thecapacitive coupling regions 162 relative to the chassis and within (orparallel to) the nominal plane, and the stages 154 of the springelements 150 can move vertically relative to the nominal plane and thecapacitive coupling regions 162.

Thus, each capacitance sensor 120 on the substrate 110 can: capacitivelycouple to an adjacent capacitive coupling region 162 on the unitarymetallic structure; and move toward this adjacent capacitive couplingregion 162 in response to application of a force on the touch sensorsurface 116 proximal the capacitance sensor 120, which thus changes thecapacitance value of the capacitance sensor 120 proportional tocompression of the adjacent spring element 150 and thereforeproportional to the portion of the force carried by the spring element150.

Furthermore, in this implementation, the unitary metallic structure canbe fastened directly to the chassis of the computing device.Alternatively, the unitary metallic structure can be mounted (e.g.,fastened, riveted, welded, crimped) to a separate chassis interface 190that is then fastened or otherwise mounted to the chassis.

3.6 Controller and Operation

In this variation of the system 100, the controller 180 is configuredto, during a scan cycle: read a set of capacitance values—from the arrayof capacitance sensors 120—representing compression of the array ofspring elements 150 between the chassis and the substrate 110; andinterpret a distribution of forces applied to the touch sensor surface116 during the scan cycle based on this set of capacitance values andforce models representing spring constants of the array of springelements 150.

In one example shown in FIG. 14, during a setup routine or duringongoing calibration cycles in which no touch input is applied to thetouch sensor surface 116, the controller 180 can read capacitance valuesfrom the pressure sensors and store these capacitance values as baselinecapacitances—corresponding to absence of a touch input on the touchsensor surface 116—for these pressure sensors. Later, when a userdepresses (e.g., with a stylus, a finger) a first region of the touchsensor surface 116 proximal a first spring element 150 at a first time:the first spring element 150 yields to this touch input; and a firstcapacitance sensor 120, adjacent the first region of the touch sensorsurface 116, thus advances toward a first capacitive coupling region 162on the coupling plate 160 by a distance proportional to a forcemagnitude of the touch input. Accordingly, the controller 180: reads afirst capacitance value from the first capacitance sensor 120 during ascan cycle spanning the first time; calculates a first change incapacitance at the first capacitance sensor 120 at the first time basedon a difference between the first capacitance value and a storedbaseline capacitance value for the first capacitance sensor 120; andinterprets a portion of the force magnitude of the touch input carriedby the first spring element 150 based on (e.g., proportional to) thefirst change in capacitance value and a stored force model that relatesdeviation from baseline capacitance to force carried by the first springelement 150 (e.g., based on a spring constant of the first springelement 150).

In this example, the controller 180 can implement this process for eachother discrete pressure sensor on the substrate 110 in order totransform changes in capacitance values detected at each pressure sensorinto portions of the total force magnitude of the touch input carried byeach spring element 150 at the first time. The controller 180 can thensum these portions to calculate the total force magnitude of the touchinput during the first time. Additionally or alternatively, thecontroller 180 can fuse these portions of the force magnitude carried byeach pressure sensor, the known positions of the pressure sensors on thesubstrate 110, and locations of multiple concurrent, discrete inputsdetected on the touch sensor surface 116 via the capacitive touch sensor170 in order to estimate the force applied by each discrete input, suchas described below.

3.6.1 Negative Force

In one variation shown in FIG. 14, the controller 180 implements similarmethods and techniques to detect both increases and decreases in forcescarried by the discrete pressure sensors during a scan cycle based ondecreases and increases in capacitance, respectively, detected acrossthese pressure sensors. More specifically, application of a force on thetouch sensor surface 116 near a first corner of the touch sensor surface116 may depress this first corner into the chassis but also cause asecond, opposite corner of the substrate 110 to lift, thereby increasingthe force carried by the first corner but reducing the force carried bythe second corner. Therefore, the controller 180 can: detect bothincreases and decreases in capacitance at the first and second pressuresensors in the first and second corners of the substrate 110; interpretpositive and negative changes in force carried by the first and secondpressure sensors from these increases and decreases in capacitance atthe first and second pressure sensors; and sum these positive andnegative changes in carried forces in order to calculate an accuratetotal force applied to the touch sensor surface 116 at this time.

For example, during a scan cycle, the controller 180 can read a firstset of capacitance values from a first subset of capacitance sensors120—in the array of capacitance sensors 120—proximal a touch input onthe touch sensor surface 116. Then, in response to the first set ofcapacitance values deviating in a first direction from the baselinecapacitance values stored for the first subset of capacitance sensors120, the controller 180 can interpret a first set of elevatedcompressive forces carried by a first subset of spring elements 150coupled to this first subset of capacitance sensors 120. For example,the controller 180 can interpret a first set of elevated compressiveforces carried by the first subset of spring elements 150 in response totheir measured capacitances exceeding corresponding baselinecapacitance, their measured (dis)charge times falling belowcorresponding baseline (dis)charge times, and/or their measured resonantfrequencies falling below corresponding baseline resonant frequencies.

Similarly, during this scan cycle, the controller 180 can: read a secondset of capacitance values from a second subset of capacitance sensors120—in the array of capacitance sensors 120—remote from the touch inputon the touch sensor surface 116. Then, in response to the second set ofcapacitance values deviating in a second direction from the baselinecapacitance values stored for the second subset of capacitance sensors120, the controller 180 can interpret a second set of tensile forcescarried by a second subset of spring elements 150 coupled to this secondsubset of capacitance sensors 120. For example, the controller 180 caninterpret a second set of tensile forces carried by the second subset ofspring elements 150 in response to their measured capacitances fallingbelow corresponding baseline capacitance, their measured (dis)chargetimes exceeding corresponding baseline (dis)charge times, and/or theirmeasured resonant frequencies exceeding corresponding baseline resonantfrequencies.

The controller 180 can then interpret the total force magnitude of thetouch input applied to the touch sensor surface 116 based on acombination of the first set of elevated compressive forces and thesecond set of tensile forces. For example, the controller 180 caninterpret the total force magnitude of the touch input applied to thetouch sensor surface 116 during this scan cycle based on: a sum of thefirst set of elevated compressive forces; less a sum of the second setof tensile forces.

3.6.2 Capacitive Touch+Resistive Force

Furthermore, in the variation of the system 100 described above thatincludes an array of drive electrodes and sense electrodes that form acapacitive touch sensor 170 across the top layer in of the substrate110, the controller 180 can: read capacitance values from the capacitivetouch sensor 170 and capacitance values from the set of pressure sensorsduring a scan cycle; and fuse these data into a location and forcemagnitude of a touch input on the touch sensor surface 116 during thisscan cycle.

In one implementation, the controller 180 can read all capacitancesensors 120 in the capacitive touch sensor 170 and the pressure sensorsin a single series during one scan cycle. More specifically, in themutual capacitance configuration described above, drive electrodecolumns and sense electrode rows in the capacitive touch sensor 170 canbe coupled to drive and sense channels on the controller 180; theelectrodes in the pressure sensors can be similarly coupled to thesesame or other drive and sense channels in the controller 180. Forexample, during a scan cycle, the controller 180 can: serially read afirst set of capacitance values from the array of drive electrodes andsense electrodes in the capacitive touch sensor 170 over a first segmentof the scan cycle; seamlessly transition to serially reading a secondset of capacitance values from the array of capacitance sensors 120 overa second segment of the scan cycle succeeding (or preceding) the firstsegment of the scan cycle. The controller 180 (or a power supply in orconnected to the system 100) can also drive the coupling plate 160 to areference potential during (at least) the second segment of the scancycle.

Conversely, in the self capacitance configuration described above, driveelectrode columns and sense electrode rows in the capacitive touchsensor 170 can be coupled to drive and sense channels on the controller180; the singular electrodes in the pressure sensors can be similarlycoupled to sense channels in the controller 180. For example, during ascan cycle, the controller 180 can: serially read a first set ofcapacitance values from the array of drive electrodes and senseelectrodes in the capacitive touch sensor 170 over a first segment ofthe scan cycle; and seamlessly transition to serially reading a secondset of capacitance values from the array of capacitance sensors 120 overa second segment of the scan cycle succeeding (or preceding) the firstsegment of the scan cycle. The controller 180 (or a power supply in orconnected to the system 100) can also drive the coupling plate 160 to areference potential during (at least) the second segment of the scancycle.

Therefore, during a scan cycle, the controller 180 can: read a first setof capacitance values (e.g., change in capacitance charge times,discharge times, or RC-circuit resonant frequencies) between driveelectrodes and sense electrodes in the capacitive touch sensor 170; andread a second set of capacitance values across capacitance sensors 120on the bottom layer 112 of the substrate 110. The controller 180 canthen: detect a lateral position and a longitudinal position of a touchinput on the touch sensor surface 116 based on the first set ofcapacitance values (e.g., based on changes in capacitance values betweendrive and sensor electrode pairs 130 at known lateral and longitudinalpositions across the top layer in of the substrate 110); interpret aforce magnitude of the touch input based on the second set ofcapacitance values, as described above; and output the lateral position,the longitudinal position, and the force magnitude of the touch input,such as in the form of a force-annotated touch image.

In this example, if the controller 180 detects a single touch input onthe touch sensor surface 116 during this scan cycle based on the firstset of capacitance values, the controller 180 can attribute the entireapplied force to this singular touch input. Accordingly, the controller180 can: implement methods and techniques described above to calculateindividual forces carried by each spring element 150 based oncapacitance values read from the adjacent capacitance sensors 120,stored baseline capacitance values for these capacitance sensors 120,and stored force models for these springs elements; sum these individualforces to calculate a total force applied to the touch sensor surface116 during this scan cycle; and label the location of the touchinput—derived from the set of capacitance values—with this total force.

3.6.3 Multi-Touch

However, in this variation, if the controller 180 detects multiple touchinputs on the touch sensor surface 116 during a scan cycle based on thefirst set of capacitance values read from the capacitive touch sensor170, the controller 180 can fuse locations of discrete touch inputsderived from these capacitance values with force magnitudes carried bythe spring elements 150 to estimate (e.g., disambiguate) force magnitudeof these individual touch inputs.

In one implementation, during a scan cycle, the controller 180: reads afirst set of capacitance values between drive electrodes and senseelectrodes in the capacitive touch sensor 170; reads a second set ofcapacitance values from capacitance sensors 120 on the bottom layer 112of the substrate 110; detects a first lateral position and a firstlongitudinal position of a first touch input on the touch sensor surface116 (e.g., a centroid of a first area on the touch sensor surface 116identified as a first input) based on the first set of capacitancevalues; and similarly detects a second lateral position and a secondlongitudinal position of a second touch input on the touch sensorsurface 116 (e.g., a centroid of a second area on the touch sensorsurface 116 identified as a second input) based on the first set ofcapacitance values. For example, the controller 180 can implement blobdetection, clustering, or other touch interpretation techniques todistinguish the first and second inputs on the touch sensor surface 116,such as by isolating a) a first cluster of drive electrodes and senseelectrodes exhibiting changes in capacitance values responsive to thefirst input from b) a second cluster of drive electrodes and senseelectrodes exhibiting changes in capacitance values responsive to thesecond input.

In this example, the controller 180 can also implement methods andtechniques described above to interpret a set of individual forcemagnitudes carried by each spring element 150 based on the second set ofcapacitance values, stored baseline capacitance values of thecorresponding capacitance sensors 120, and stored spring element 150models for the corresponding spring elements 150. Then, for eachpressure sensor, the controller 180 can: calculate a first distance fromthe first touch input to the spring element 150 based on the firstlateral position and the first longitudinal position of the first touchinput; calculate a second distance from the second touch input to thespring element 150 based on the second lateral position and the secondlongitudinal position of the second touch input; estimate a firstproportion of the individual force magnitude—carried by the springelement 150—that was applied by the first touch input based on a firstratio of the first distance to a combination (e.g., a sum) of the firstdistance and the second distance; and estimate second proportion of theindividual force magnitude that was applied by the second touch inputbased on a second ratio of the second distance to the combination (e.g.,a sum) of the first distance and the second distance.

The controller 180 can then estimate a first total force magnitudeapplied by the first touch input based on a first combination (e.g., asum) of force magnitudes carried by the array of springs, weighted byfirst proportions thus derived from the distances from these springelements 150 to the first input. Similarly, the controller 180 canestimate a second total force magnitude applied by the second touchinput based on a second combination (e.g., a sum) of force magnitudescarried by the array of springs, weighted by second proportions thusderived from the distances from these spring elements 150 to the secondinput.

Therefore, in this example, the controller 180 can estimate proportionsof forces—carried by multiple spring elements—that proceed from multiplediscrete touch inputs on the touch sensor surface 116 based on distancesbetween these spring elements 150 and these discrete touch inputs.Additionally or alternatively, the controller 180 can estimateproportions of forces—carried by multiple springs elements—that proceedfrom multiple discrete touch inputs on the touch sensor surface 116based on (e.g., proportional to) the sizes (e.g., areas, minimum widths)of these discrete touch inputs.

3.7 Haptic Feedback Module

As described above, in this variation, the spring plate 152 and/or thecoupling plate 160 can also define a magnetic element receptacle 192inset from the array of spring elements 150. In this variation, thesystem 100 can further include a magnetic element 194 (e.g., a Halbacharray, a group of permanent magnets) arranged in (e.g., bonded to,potted within) the magnetic element receptacle 192. Furthermore, in thisvariation, the substrate 110 can include a conductive coil arranged overand configured to magnetically couple to the magnetic element 194 toform a vibrator. For example, the conductive coil can include a discreteair core wire inductor mounted (e.g., bonded, soldered) to the bottomlayer 112 of the substrate 110. In another example, the substrate 110includes multiple coaxial conductive spiral traces fabricated overmultiple layers of the substrate 110 to form an integral fiberglass-corewire-trace inductor within the substrate 110.

Alternatively, the system 100 can include a discrete electromechanicalvibrator mounted to the substrate 110 and selectively powered by thecontroller 180.

The system and methods described herein can be embodied and/orimplemented at least in part as a machine configured to receive acomputer-readable medium storing computer-readable instructions. Theinstructions can be executed by computer-executable componentsintegrated with the application, applet, host, server, network, website,communication service, communication interface,hardware/firmware/software elements of a user computer or mobile device,wristband, smartphone, or any suitable combination thereof. Othersystems and methods of the embodiment can be embodied and/or implementedat least in part as a machine configured to receive a computer-readablemedium storing computer-readable instructions. The instructions can beexecuted by computer-executable components integrated bycomputer-executable components integrated with apparatuses and networksof the type described above. The computer-readable medium can be storedon any suitable computer readable media such as RAMs, ROMs, flashmemory, EEPROMs, optical devices (CD or DVD), hard drives, floppydrives, or any suitable device. The computer-executable component can bea processor but any suitable dedicated hardware device can(alternatively or additionally) execute the instructions.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the embodiments of the invention without departing fromthe scope of this invention as defined in the following claims.

We claim:
 1. A system for detecting inputs at a computing devicecomprising: a substrate comprising: a top layer; a bottom layer definingan array of support locations; and an array of electrode pairs arrangedon the bottom layer, each electrode pair in the array of electrode pairsoccupying a support location in the array of support locations; a touchsensor surface arranged over the top layer of the substrate; a set ofspacers, each spacer in the set of spacers: arranged over an electrodepair, in the array of electrode pairs, at a support location, in thearray of support locations, on the bottom layer of the substrate; andcomprising a force-sensitive material exhibiting variations in localbulk resistance responsive to variations in applied force; an array ofspring elements configured to support the substrate on a chassis and toyield to displacement of the substrate downward toward the chassisresponsive to forces applied to the touch sensor surface, each springelement in the array of spring elements coupled to a spacer, in the setof spacers, at a support location in the array of support locations; anda controller configured to: read resistance values from the array ofelectrode pairs; and interpret force magnitudes of inputs applied to thetouch sensor surface based on resistance values read from the array ofelectrode pairs.
 2. The system of claim 1: wherein the array of springelements comprise a unitary metallic structure arranged between thesubstrate and the chassis and defining a nominal plane; wherein eachspring element, in the array of spring elements: is formed in theunitary metallic structure; defines a stage coupled to a spacer, in theset of spacers, opposite the bottom layer of the substrate; and isconfigured to return to approximately the nominal plane in response toabsence of a touch input applied to the touch sensor surface; andwherein each spacer, in the set of spacers, electrically couples anadjacent electrode pair, in the array of electrode pairs, with aresistance that varies according to magnitude of force applied to thetouch sensor surface.
 3. The system of claim 1: wherein a first springelement, in the array of spring elements, yields to a touch inputapplied to a first region of the touch sensor surface proximal the firstspring element at a first time; wherein a first spacer, in the array ofelectrode pairs: compresses between the first spring element and a firstsupport location, in the array of support locations, on the bottom layerof the substrate; and exhibits a decrease in local bulk resistanceproportional to a force magnitude of the touch input; and wherein thecontroller is configured to: detect a first change in resistance valueacross a first electrode pair, adjacent the first spacer, at the firsttime; and interpret a portion of the force magnitude of the touch input,carried by the first spring element, based on the first change inresistance value.
 4. The system of claim 1: wherein each spring elementin the array of spring elements is: coupled to a spacer, in the set ofspacers, at a support location, in the array of support locations, onthe bottom layer of the substrate; configured to yield below a nominalplane in response to application of force on the touch sensor surfaceproximal the support location; and configured to yield above the nominalplane in response to application of force on the touch sensor surfaceremote from the support location; and wherein the controller isconfigured to, during a scan cycle: read a first set of resistancevalues from a first subset of electrode pairs, in the array of electrodepairs, proximal a touch input on the touch sensor surface; in responseto the first set of resistance values deviating in a first directionfrom baseline resistance values for the first subset of electrode pairs,interpret a first set of elevated compressive forces carried by a firstsubset of spring elements, in the array of spring elements, proximal thefirst subset of electrode pairs; and interpret a force magnitude of thetouch input applied to the touch sensor surface based the first set ofcompressive forces.
 5. The system of claim 4, wherein the controller isconfigured to, during the scan cycle: read a second set of resistancevalues from a second subset of electrode pairs, in the array ofelectrode pairs, remote from the touch input on the touch sensorsurface; in response to the second set of resistance values deviating ina second direction from baseline resistance values for the second subsetof electrode pairs, interpret a second set of reduced compressive forcescarried by a second subset of spring elements, in the array of springelements, remote from the second subset of electrode pairs; andinterpret the force magnitude of the touch input applied to the touchsensor surface based on a combination of the first set of compressiveforces and the second set of reduced compressive forces.
 6. The systemof claim 5, wherein the touch sensor surface comprises a membrane:coupled to the chassis; and tensioned over the substrate to: preloadcompression of the set of spacers between the substrate and the array ofspring elements; and approximately locate the set of spring elements inthe nominal plate responsive to absence of a touch input on the touchsensor surface.
 7. The system of claim 1: further comprising an array ofdrive electrodes and sense electrodes arranged on the top layer of thesubstrate; wherein the touch sensor surface is arranged over the arrayof drive electrodes and sense electrodes; and wherein the controller isconfigured to, during a scan cycle: read a set of capacitance valuesbetween drive electrodes and sense electrodes in the array of driveelectrodes and sense electrodes; read a set of resistance values acrosselectrode pairs in the array of electrode pairs; detect a lateralposition and a longitudinal position of a touch input on the touchsensor surface based on the set of capacitance values; interpret a forcemagnitude of the touch input based on the set of resistance values; andoutput the lateral position, the longitudinal position, and the forcemagnitude.
 8. The system of claim 7, wherein the controller isconfigured to, during the scan cycle: access a force model representinga relationship between deviation from a baseline resistance value andforce carried by a spring element based on a spring constant of springelements in the array of spring elements; and interpret the forcemagnitude of the touch input based on the set of resistance values andthe force model.
 9. The system of claim 7: wherein the array ofelectrode pairs comprises a first quantity of electrode pairs; andwherein the array of drive electrodes and sense electrodes defines asecond quantity of drive electrode and sense electrode pairs, the secondquantity at least two orders of magnitude greater than the firstquantity.
 10. The system of claim 7: wherein the substrate defines afirst region and a second region: wherein the set of electrode pairscomprises: a first subset of electrode pairs occupying a first subset ofsupport locations, in the array of support locations, within the firstregion of the substrate; and a second subset of electrode pairsoccupying a second subset of support locations, in the array of supportlocations, within the second region of the substrate; wherein the arrayof drive electrodes and sense electrodes are arranged over the firstregion of the substrate; wherein the array of spring elements comprises:a first subset of spring elements coupled to the first subset of supportlocations; and a second subset of spring elements coupled to the secondsubset of support locations; and wherein the controller is configuredto, during the scan cycle: read a subset of resistance values from thesecond subset of electrode pairs; and detect a palm in contact with thetouch sensor surface over the second region of the substrate based onthe subset of resistance values.
 11. The system of claim 1: furthercomprising an array of drive electrodes and sense electrodes arranged onthe top layer of the substrate; wherein the touch sensor surface isarranged over the array of drive electrodes and sense electrodes; andwherein the controller is configured to, during a scan cycle: read a setof capacitance values between drive electrodes and sense electrodes inthe array of drive electrodes and sense electrodes; read a set ofresistance values of electrode pairs in the array of electrode pairs;detect a first lateral position and a first longitudinal position of afirst touch input on the touch sensor surface based on the set ofcapacitance values; detect a second lateral position and a secondlongitudinal position of a second touch input on the touch sensorsurface based on the set of capacitance values; interpret a set of forcemagnitudes carried by the array of spring elements based on the set ofresistance values; estimate a first force magnitude of the first touchinput based on: the first lateral position and the first longitudinalposition of the first touch input; the set of force magnitudes carriedby the array of spring elements; and locations of spring elements, inthe array of spring elements, supporting the substrate; estimate asecond force magnitude of the second touch input based on: the secondlateral position and the second longitudinal position of the secondtouch input; the set of force magnitudes carried by the array of springelements; and locations of spring elements, in the array of springelements, supporting the substrate; and compile the first lateralposition, the first longitudinal position, the first force magnitude,the second lateral position, the second longitudinal position, and thesecond force magnitude into a force image for the scan cycle.
 12. Thesystem of claim 11, wherein the controller is configured to interpretthe set of force magnitudes, estimate the first force magnitude of thefirst touch input, and estimate the second force magnitude of the secondtouch input by: for each electrode pair estimating an individual forcemagnitude carried by a spring element, in the array of spring elements,adjacent the electrode pair based on a resistance value, in the set ofresistance values, read from the electrode pair; calculating a firstdistance from the first touch input to the spring element based on thefirst lateral position and the first longitudinal position of the firsttouch input; calculating a second distance from the second touch inputto the spring element based on the second lateral position and thesecond longitudinal position of the second touch input; estimating afirst proportion of the individual force magnitude, in a first set ofindividual force magnitude proportions, applied by the first touch inputbased on a first ratio of the first distance to a combination of thefirst distance and the second distance; and estimating second proportionof the individual force magnitude, in a second set of force magnitudeproportions, applied by the second touch input based on a second ratioof the second distance to the combination of the first distance and thesecond distance; estimating the first force magnitude of the first touchinput based on a first combination of the first set of individual forcemagnitude proportions; and estimating the second force magnitude of thesecond touch input based on a second combination of the second set ofindividual force magnitude proportions.
 13. The system of claim 1:wherein each electrode pair, in the array of electrode pairs, comprisesa pair of interdigitated electrodes extending across a support location,in the array of support locations, on the bottom layer of the substrate;wherein each spacer, in the set of spacers, is arranged across a pair ofinterdigitated electrodes within a support location, in the array ofsupport locations, on the bottom layer of the substrate; and wherein thecontroller is configured to, during a scan cycle: read a set ofresistance values, from the array of electrode pairs, representingcompression of the set of spacers between the substrate and the array ofspring elements; and interpret a distribution of forces applied to thetouch sensor surface during the scan cycle based on the set ofresistance values and spring constants of the array of spring elements.14. The system of claim 1: wherein the substrate defines a rectangulargeometry; and wherein the array of spring elements comprises: a firstsubset of spring elements coupled to a first subset of supportlocations, in the array of support locations, proximal corners of thesubstrate, the first subset of spring elements characterized by a firstspring constant; and a second subset of spring elements coupled to asecond subset of support locations, in the array of support locations,proximal an edge of the substrate, the first subset of spring elementscharacterized by a second spring constant less than the first springconstant.
 15. The system of claim 1: wherein the substrate defines arectangular geometry; wherein the bottom layer of the substrate definesthe array of support locations proximal a perimeter of the substrate;and wherein the array of spring elements is configured to support theperimeter of the substrate against the chassis of the computing device.16. The system of claim 1: further comprising a spring plate: locatingthe array of spring elements; and defining a magnetic element receptacleinset from the array of spring elements; further comprising a magneticelement arranged in the magnetic element receptacle; wherein thesubstrate further comprises a conductive coil arranged over andconfigured to magnetically couple to the magnetic element; wherein thecontroller is configured to, during a scan cycle: read a first set ofresistance values from the array of electrode pairs; interpret a firstforce magnitude of a first input applied to the touch sensor surfacebased on the first set of resistance values; and drive an alternatingcurrent through the conductive coil to magnetically couple theconductive coil to the magnetic element in response to the first forcemagnitude exceeding a threshold force magnitude; and wherein the arrayof spring elements is configured to yield to magnetic coupling betweenthe conductive coil and the magnetic element to enable the substrate andthe touch sensor surface to oscillate relative to the chassis.
 17. Thesystem of claim 16: wherein the conductive coil defines an inductor axisnormal to the touch sensor surface; wherein the magnetic element: isarranged in the magnetic element receptacle with a polar axis of themagnetic element parallel to the inductor axis; and magnetically couplesto the conductive coil to oscillate the substrate normal to the touchsensor surface; and wherein the array of spring elements yields in adirection normal to the touch sensor surface to enable the substrate andthe touch sensor surface to oscillate relative to the chassis.
 18. Thesystem of claim 16: wherein the spring plate and the array of springelements comprise a unitary metallic structure; and wherein each springelement, in the array of spring elements, comprises a flexure fabricatedin the unitary metallic structure.
 19. The system of claim 1, whereineach spacer, in the set of spacers: is bonded to the bottom layer of thesubstrate around an adjacent electrode pair, in the array of electrodepairs; and defines a vent port configured to vent air from a voidbetween the spacer and the bottom layer of the substrate around theadjacent electrode pair.
 20. A system for detecting inputs at acomputing device comprising: a substrate comprising: a top layer; abottom layer; and an array of electrode pairs arranged on the bottomlayer; an array of drive electrodes and sense electrodes arranged on thetop layer of the substrate; a touch sensor surface arranged over thearray of drive electrodes and sense electrodes; a set of spacers, eachspacer in the set of spacers: arranged over an electrode pair, in thearray of electrode pairs, on the bottom layer of the substrate; andcomprising a force-sensitive material exhibiting variations in localbulk resistance responsive to variations in applied force; an array ofspring elements configured to support the substrate on a chassis and toyield to displacement of the substrate downward toward the chassisresponsive to forces applied to the touch sensor surface, each springelement in the array of spring elements coupled to a spacer in the setof spacers; and a controller configured to, during a scan cycle: read aset of capacitance values between drive electrodes and sense electrodesin the array of drive electrodes and sense electrodes; read a set ofresistance values across electrode pairs in the array of electrodepairs; detect a lateral position and a longitudinal position of a touchinput on the touch sensor surface based on the set of capacitancevalues; interpret a force magnitude of the touch input based on the setof resistance values; and output the lateral position, the longitudinalposition, and the force magnitude of the touch input.